home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 20 / AMIGAplus Sonderheft 20 (1999)(ICP)(DE)[!].iso / PublicDomain / Alternatives / LinuxAPUS / Docs / LinuxAPUS_FAQ / faq.sgml < prev    next >
SGML Document  |  1999-01-01  |  179KB

  1. <!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
  2. <!-- $Id: faq.sgml,v 1.64 1999/03/22 20:15:55 jskov Exp $ -->
  3. <!ENTITY thisdoc "The &linapus; Doc'n'FAQ">
  4.  
  5. <!ENTITY linux "Linux">
  6. <!ENTITY linapus "Linux/APUS">
  7. <!ENTITY linm68k "Linux/m68k">
  8. <!ENTITY linppc "Linux/PPC">
  9.  
  10. <!ENTITY cpuppc "PowerPC">
  11. <!ENTITY cpum68k "MC68k">
  12. <!ENTITY cpu040 "MC68040">
  13. <!ENTITY cpu060 "MC68060">
  14. <!ENTITY cpu603 "PPC603p">
  15. <!ENTITY cpu604 "PPC604">
  16.  
  17. <!ENTITY sunsite "SunSITE Denmark">
  18.  
  19. <!ENTITY gvp "GVP">
  20.  
  21. <!ENTITY p5 "Phase5">
  22. <!ENTITY pup "PowerUp">
  23. <!ENTITY blzppc "Blizzard/PPC">
  24. <!ENTITY cybppc "CyberStorm/PPC">
  25.  
  26. <!ENTITY gdb "<application>GDB</application>">
  27. <!ENTITY x "<application>X</application>">
  28.  
  29. <!ENTITY dmesg "<application>dmesg</application>">
  30. <!ENTITY boothack "<application>boothack</application>">
  31. <!ENTITY amiboot "<application>amiboot</application>">
  32.  
  33. <!ENTITY rh "RedHat">
  34. <!ENTITY rpm "RPM">
  35. <!ENTITY rhinstaller "RedHat Installer">
  36. <!ENTITY rhppc "RedHat/PPC">
  37. <!ENTITY rhrc "RedHat/Rough Cuts">
  38.  
  39. <!ENTITY debian "Debian">
  40. <!ENTITY debppc "Debian/PPC">
  41. <!ENTITY deb "DEB">
  42.  
  43. <!ENTITY amiga "Amiga">
  44. <!ENTITY ados "&amiga DOS">
  45. <!ENTITY hdtbox "<application>HDToolBox</application>">
  46.  ]>
  47.  
  48. <!-- TODO:
  49. add version information
  50. make some of the lists into tables
  51. footnoteref only works on same page :(
  52. -->
  53.  
  54. <book>
  55.   <bookinfo>
  56.     <date>$Date: </date>
  57.     <title>&thisdoc;</title>
  58.     <releaseinfo>documentation in progress</releaseinfo>
  59.     <authorgroup>
  60.       <author>
  61.     <firstname>Jesper</firstname>
  62.     <surname>Skov</surname>
  63.       </author>
  64.     </authorgroup>
  65.     <address><email>jskov@cygnus.co.uk</email></address>
  66.     <copyright><year>1998</year><holder>Jesper Skov</holder></copyright>
  67.     
  68.     <abstract>
  69.       <para>This document contains frequently asked questions (and
  70.     answers) about &linapus; (&linux; for &amiga; &pup; Systems) as
  71.     well as general documentation of the &linapus; port.</para>
  72.     </abstract>
  73.   </bookinfo>
  74.   <toc></toc>
  75.  
  76.   <part><title>User Help</title>
  77.     <partintro>
  78.       <para> Hello!</para>
  79.  
  80.       <para> Welcome to the user part of &thisdoc;. I hope
  81.     you will find what you are looking for.</para>
  82.       
  83.       <para> It's very important that this document,
  84.     presumably being the first stop for new &linapus; users, is
  85.     good enough to get <emphasis>you</emphasis> and the ones after
  86.     you from &ados; to &linapus; with as few problems as
  87.     possible. Please send suggestions for improvement to the
  88.     maintainer at <ulink
  89.       url="mailto:apus@linux-m68k.org">apus@linux-m68k.org</ulink>.
  90.     <emphasis>Do not</emphasis> send questions to that address -
  91.     there are better places to ask for answers to your
  92.     questions. Please read on.</para>
  93.  
  94.       <para>Thanks,</para>
  95.       <para>Jesper</para>
  96.  
  97.     </partintro>
  98.  
  99.     <chapter>
  100.       <title>Introduction</title>
  101.  
  102.       <para> The &linux; port for APUS (&amiga; &pup; Systems) was
  103.     started in 1997 with support from <ulink
  104.       url="http://www.phase5.de">&p5;</ulink> who provided 3 developer
  105.     boards to Jes Sørensen, Roman Zippel and Jesper Skov.</para>
  106.  
  107.       <para>Initially it seemed that the proprietary information needed
  108.     to make the port would make a bad mix with the open source model
  109.     of &linux;.  Indeed, it postponed the public release of &linapus;
  110.     somewhat, but it all worked out in the end. &p5; have approved
  111.     all the released information and, sparse commenting aside, all
  112.     source code changes are freely available.</para>
  113.  
  114.       <sect1><title>&linux; ports</title>
  115.  
  116.     <para>I refer to the following ports of &linux; in this
  117.       document:</para>
  118.     
  119.     <para> <emphasis>&linm68k;</emphasis> The port for the Motorola
  120.       &cpum68k; CPU family. This is what you would use for running
  121.       &linux; on an &amiga; without &pup;. It is also the port that
  122.       &linapus; is based on, since all the drivers are the same.</para>
  123.  
  124.     <para><emphasis>&linppc;</emphasis> The port for the Motorola
  125.       &cpuppc; CPU family. The home of this port is at <ulink
  126.         url="http://www.linuxppc.org">www.linuxppc.org</ulink>. This
  127.       port has multi-machine support, including PMAC, PREP, CHRP and
  128.       partially APUS.</para>
  129.  
  130.     <para><emphasis>&linapus;</emphasis> The port targeted at &amiga;s
  131.       with &p5;'s &pup; hardware. With time, it will be a proper
  132.       part of &linppc;. It may also become a base for the support of
  133.       &cpuppc; cards from other &amiga; vendors.</para>
  134.  
  135.       </sect1>
  136.       <sect1><title>Document Changes</title> 
  137.  
  138.     <para>I will try to keep this document up to date, but if you
  139.       find something that is obsolete or wrong, please let me
  140.       know. Things marked with <emphasis>FIXME</emphasis> are known
  141.       to be incomplete or (maybe) wrong.</para>
  142.  
  143.     <para> New changes in the document are marked with
  144.       colors. Recent changes are red, and as the changes age they
  145.       fade to blue and then black over a period of 14 days or
  146.       so. Sections containing these colored changes will be dated so
  147.       they can be easily identified from the table of contents. The
  148.       colors work fine (IMO) with the default Netscape colors. If
  149.       you use a customized color scheme, you might want to generate
  150.       the HTML pages without the colors: use the DocBook
  151.       <application>db2html</application> and the file
  152.       <filename>faq.sgml</filename> from the docs directory at
  153.       &sunsite;.</para>
  154.  
  155.       </sect1>
  156.     </chapter>
  157.     <chapter><title>Getting The Kernel</title>
  158.  
  159.       <para> Precompiled kernel images and a special version of
  160.       &amiboot; (called &boothack;) can be downloaded from
  161.     &sunsite;.</para>
  162.  
  163.       <para> Before you download anything, you should read <xref
  164.       linkend="working"> and <xref linkend="problems"> to prevent
  165.         yourself from getting a nasty surprise. Also, I suggest you
  166.         start by downloading only what is needed to get a minimal
  167.         system installed (see <xref linkend="installing">) - if this
  168.           is working you can then download the applications you want to
  169.           run.</para>
  170.  
  171.       <sect1><title>The Kernel Images</title>
  172.  
  173.     <para> The kernel archives at &sunsite; (see <xref
  174.         linkend="sunsite">) are named
  175.         <filename>vmapus-YYMMDD.lzh</filename> and contain three files:
  176.         <filename>vmlinux</filename> (the actual kernel image),
  177.         <filename>System.map</filename> (a list of symbols/addresses in
  178.         the kernel) and <filename>.config</filename> (describing how the
  179.         kernel was configured).</para>
  180.  
  181.     <para>You only need the kernel image to boot &linux;, but the
  182.       other files may help track down bugs. Please read <xref
  183.         linkend="debug"> for information about how you can use a
  184.         kernel dump and the <filename>System.map</filename> file to
  185.         help yourself or others locate a bug.</para>
  186.  
  187.     <para>It is not customary to provide precompiled images of a
  188.       developer kernel, but I have chosen to do so because not
  189.       everybody have the disk space to install two separate systems
  190.       (i.e., a &linm68k; system just for compiling &linapus;
  191.       kernels). When &linapus; becomes more stable (that is, when
  192.       enough drivers are reported working) I will stop providing the
  193.       precompiled kernels. People who want the bleeding edge stuff
  194.       should then recompile their kernels themselves (see <xref
  195.         linkend="recompile">).</para>
  196.  
  197.     <sect2><title>Included Hardware Drivers</title>
  198.  
  199.       <para>The precompiled kernel image includes drivers for the
  200.         hardware listed below. The drivers are
  201.         <emphasis>exactly</emphasis> the same as in &linm68k; so they
  202.         will not work better (or worse, hopefully) and you need to
  203.         take the same precautions with some of the drivers (e.g.,
  204.         CyberVision) as you would in &linm68k;. Consult the &linm68k; FAQ
  205.         (see <xref linkend="links">) if you have problems.</para>
  206.  
  207.       <para>A list of drivers that are known to
  208.         <emphasis>work</emphasis> can be found in <xref
  209.           linkend="working">.</para>
  210.  
  211.       <informaltable frame="all">
  212.         <tgroup cols="2">
  213.           <thead>
  214.         <row>
  215.           <entry>DISPLAY</entry>
  216.           <entry>BLOCK</entry>
  217.           <entry>CHAR</entry>
  218.           <entry>NET</entry>
  219.           <entry>SCSI</entry>
  220.         </row>
  221.           </thead>
  222.           <tbody>
  223.         <row>
  224.           <entry>OCS, ECS, AGA, CyberVision, CyberVision/3D,
  225.             PM2 (CyberVision/PPC)
  226.             <footnote>
  227.               <para> The driver included in the
  228.             precompiled kernel is an old beta. If you want
  229.             the up-to-date version get the latest sources
  230.             from the PM2 webpage (see <xref
  231.               linkend="links">). Don't expect the
  232.               precompiled version to behave as described on
  233.               the webpage!</para>
  234.             </footnote>, RetinaZ3, Clgen</entry>
  235.  
  236.           <entry>&amiga; floppy, A1200/A4000 IDE, IDEDoubler,
  237.             Buddha</entry>
  238.  
  239.           <entry>&amiga; serial, &amiga; keyboard, &amiga;
  240.             mouse, &gvp; IO extender (ser),
  241.             MultifaceIII ser, Whippet</entry>
  242.  
  243.           <entry>Ariadne, AriadneII, A2065, Hydra</entry>
  244.  
  245.           <entry>
  246.             A3000, A4091+A4000T<footnote id="a4000tscsi">
  247.               <para>You have to disable the use of BATs to map
  248.             main memory. Add <option>"nobats"</option> to
  249.             your kernel options.  There are
  250.             still some stability problems with this driver
  251.                 under &linapus;.</para>
  252.             </footnote>
  253.             
  254.             , BlizzardPPC<footnote id="blzscsi">
  255.               <para>You have to disable the use of BATs to map
  256.             main memory. Add <option>"nobats"</option> to
  257.             your kernel options.</para>
  258.             </footnote>
  259.             , A2091, GVP11
  260.           </entry>
  261.         </row>
  262.           </tbody>
  263.         </tgroup>
  264.       </informaltable>
  265.       
  266.       <para>If you have hardware for which you would like to see an
  267.         <emphasis>existing</emphasis> &linm68k; driver included, please
  268.         let me know. You should restrict your request to something
  269.         you need to get your system installed as the precompiled
  270.         kernel is already pretty big.  Some drivers will be include
  271.         for testing purposes (like sound) and be removed again when
  272.         they have been reported as working.</para>
  273.  
  274.       <!-- EMPTY LIST
  275.     <para>The following drivers have been requested, but I'm not
  276.       able to compile them out of the box:</para>
  277.  
  278.     <itemizedlist>
  279.     </itemizedlist>
  280.       
  281.     <para>If you have the above hardware and know C, you can help
  282.       yourself and others by trying to get it to compile with
  283.       &linapus;, or help get it properly integrated into &linm68k;.</para>
  284.       -->
  285.  
  286.     </sect2>
  287.     <sect2><title>Included Software Drivers</title>
  288.  
  289.       <para>The kernel also includes these software drivers:</para>
  290.  
  291.       <informaltable frame="all">
  292.         <tgroup cols="2">
  293.           <thead>
  294.         <row>
  295.           <entry>FS</entry>
  296.           <entry>PARTTBL</entry>
  297.           <entry>PROTOCOLS</entry>
  298.           <entry>MISC</entry>
  299.         </row>
  300.           </thead>
  301.           <tbody>
  302.         <row>
  303.           <entry>affs, dos, ext2, iso9660, minix, nfs, proc,
  304.             vfat, hfs</entry> 
  305.           <entry>amiga, msdos, mac</entry>
  306.           <entry>ppp, slip</entry>
  307.           <entry>ram disk, z2/motherboard swap, loop</entry>
  308.         </row>
  309.           </tbody>
  310.         </tgroup>
  311.       </informaltable>
  312.  
  313.     </sect2>
  314.       </sect1>
  315.  
  316.     </chapter>
  317.     <chapter id="installing"><title>Installing</title>
  318.  
  319.       <para>In this chapter I will try to help you through the steps of
  320.     installing a &linapus; system. This is based on the &rhppc; system -
  321.     if you want to install another package distribution or compile
  322.     applications yourself, you are pretty much on your own.  The
  323.     only reason for describing how to install a &rhppc; system and
  324.     not &debian; is that &rhppc; seems to be (at the moment) the
  325.     primary system used by &linppc;. By the way, &rhppc; is not
  326.     coordinated by &rh; but by &linppc; developers.</para>
  327.  
  328.       <para>It might be a good idea to read this entire chapter before
  329.     you start downloading anything - so you know what is required
  330.     for what you want to do.</para>
  331.  
  332.       <para>If you don't know how to do some of the things mentioned
  333.     here (or are unclear about something) you should get an install
  334.     help text. You should be able to find several by looking for
  335.     links at <ulink
  336.       url="http://www.linux-m68k.org">www.linux-m68k.org</ulink>.</para>
  337.  
  338.       <para>If you have corrections, additions or comments to this,
  339.     please let me know. Your feedback is important for this chapter
  340.     since new users (after <emphasis>you</emphasis> there may be
  341.     others coming this way, you know!) will probably try to follow
  342.     this - any misinformation or errors no matter how trivial should
  343.     be corrected.</para>
  344.  
  345.       <sect1><title>Files Required For Booting</title>
  346.  
  347.     <para>You need to get the files found in <xref
  348.         linkend="sd-misc">, <xref linkend="sd-install-rh"> and in <xref
  349.         linkend="sd-latest">.</para>
  350.  
  351.     <para> You should get the following files (leave them
  352.       in the same directory):</para>
  353.  
  354.     <itemizedlist>
  355.       <listitem><para><filename>misc/kernel-options.txt</filename></para>
  356.       </listitem>
  357.       <listitem><para><filename>misc/ramdisk.image.gz</filename>
  358.           <footnote>
  359.         <para>The <filename>ramdisk.image.gz</filename> is
  360.           primarily used to test that &linapus; actually
  361.           boots. If you know it boots, don't bother downloading
  362.           it.</para> </footnote></para>
  363.       </listitem>
  364.       <listitem><para><filename>latest/bhYYMMDD.lha</filename></para>
  365.       </listitem>
  366.       <listitem><para><filename>latest/vmapus-YYMMDD.lzh</filename></para>
  367.       </listitem>
  368.       <listitem><para><filename>
  369.         install/redhat/apus-rh-ramdiskimageYYMMDD.gz</filename></para>
  370.       </listitem>
  371.     </itemizedlist>
  372.  
  373.     <para>Unpack the archives (the version of
  374.       <application>lha</application> I use under &linux; appends the
  375.       suffix <filename>.lzh</filename> and I'm bound to forget
  376.       renaming them to <filename>.lha</filename> - so I
  377.       don't):</para>
  378.  
  379.     <screen>
  380.  
  381.       lha x bhYYMMDD.lha
  382.       lha x vmapus-YYMMDD.lzh      </screen>
  383.  
  384.     <para>Leave the ram disk compressed, or it will not be
  385.       usable.</para>
  386.  
  387.       </sect1>
  388.       <sect1 id="booting"><title>Booting &linapus;</title>
  389.  
  390.     <para> This section describes how to boot the kernel. The basic
  391.       command required to boot &linapus; using a ram disk as main
  392.       file system is:</para>
  393.  
  394.     <screen>
  395.  
  396.       bootstrap --apus -k vmlinux -r ramdisk.image.gz root=/dev/ram </screen>
  397.  
  398.     <para>The <option>root=/dev/ram</option> option tells the kernel
  399.       to read its data from the ram disk, <option>-k</option>
  400.       specifies the kernel image to boot, <option>-r</option> the
  401.       ram disk file and <option>--apus</option> that the &cpuppc; should
  402.       be the CPU starting the kernel.</para>
  403.  
  404.     <para>The above is how you would boot on a <emphasis>simple
  405.         system</emphasis>. When issuing the command
  406.       <command>bootstrap</command> you may need additional
  407.       parameters (at the end) for the kernel to work on your
  408.       system - this is just the same as if you were booting a
  409.       &linm68k; system. Display selection, display resolution,
  410.       SCSI driver options and other things are controlled by such
  411.       additional options.</para>
  412.  
  413.     <para> There are two specific &linapus; kernel
  414.       options:</para>
  415.     <itemizedlist>
  416.       <listitem><para><option>60nsram</option></para> <para>Use
  417.           this to remove RAM waitstates. It requires 60ns
  418.           RAM.</para>
  419.       </listitem>
  420.       <listitem><para><option>nobats</option></para> <para>Use
  421.           this to prevent the use of BATs for mapping of main
  422.           memory. Selecting this incurs a small performance
  423.           overhead, but some drivers depend on each memory page
  424.           being individually mapped (A4000T/A4091 SCSI
  425.           drivers).</para>
  426.       </listitem>
  427.     </itemizedlist>
  428.  
  429.     <para>Other kernel options exist, but are shared with
  430.       &linm68k; and other ports so I don't describe them here. One
  431.       of the files you should download
  432.       (<filename>kernel-options.txt</filename>) describes the
  433.       options you can use.  The &linm68k; website/FAQ should also
  434.       contain some general information about the boot
  435.       options.</para>
  436.  
  437.     <para> A ram disk image is used to get started.  The
  438.       ram disk contains a minimal &linux; system from which you
  439.       prepare your disks. When you have done this (described in
  440.       sections below), you will normally use
  441.       <option>root=/dev/xxx</option> (where xxx is the root
  442.       partion) to boot your &linapus; system.</para>
  443.  
  444.     <para><emphasis>Notice that booting the &linapus; kernel might
  445.         blank the display for as long as 30 seconds depending on the
  446.         &cpuppc; speed.</emphasis></para>
  447.  
  448.     <para>Some people have reported problems with copying the ram
  449.       disk (and kernel) to RAM: before booting and must use a disk
  450.       partition for the files. Others need to copy the files to
  451.       RAM:, especially &blzppc; owners who use SCSI disks.</para>
  452.  
  453.     <para>Additional to options for making your hardware run
  454.       smoothly with &linux;, you may need to restrict your memory
  455.       configuration for &linapus; to work correctly.</para>
  456.  
  457.     <sect2><title>&linapus; Memory Restrictions</title>
  458.  
  459.       <!-- FIXME
  460.     <para>Differences between the MMU capabilities of the
  461.       &cpum68k; and &cpuppc; CPUs means that &linapus; may not be
  462.       able to use as much of your memory as would &linm68k;. To
  463.       make matters worse, the physical location of memory on
  464.       &blzppc; adds further restrictions.</para>
  465.       -->
  466.  
  467.       <para> &linapus; only supports one block of primary
  468.         memory which should be the memory on the &pup; board.  It
  469.         would be possible to support mutiple blocks, but since
  470.         there is such a big performance penalty in using other
  471.         system memory than the one on the &pup; board, it doesn't
  472.         make sense.</para>
  473.  
  474.       <para> The problem is that &linux; uses memory
  475.         much more aggressively than &ados; so all memory will be
  476.         used constantly. Because of this it is not possible to
  477.         prioritize memory blocks as it can be done under
  478.         &ados;. This means that you cannot guarantee that the most
  479.         CPU intensive applications actually run in the fastest
  480.         memory block in the system. For this reason, &linapus;
  481.         only support one block of primary memory -- the
  482.         fastest. See <xref linkend="fastswap"> for a way of using
  483.           additional memory.</para>
  484.  
  485.       <para> If you have multiple memory blocks, the one
  486.         on the &cybppc;/&blzppc; will usually have the highest
  487.         priority and be selected by default. Unfortunately, this
  488.         is not foolproof and you may have to explicitly define the
  489.         block to be used.</para>
  490.  
  491.       <para>You control the memory &linux; can see by using a memory
  492.         config file: add <option>-m
  493.           <filename>file</filename></option> after the
  494.         <option>--apus</option> option. This file should contain 2
  495.         lines: on the first the size of your chip memory, on the
  496.         second the starting address of the memory and its
  497.         size. Here's a single example.</para>
  498.       <!-- FIXME
  499.       I will add a table of options
  500.       to use for different memory sizes and locations in <xref
  501.       linkend="sec-rs">.</para>
  502.       -->
  503.  
  504.       <screen>
  505.  
  506.         2097152
  507.         0x08000000 33030144    </screen>
  508.  
  509.       <para>The format of memory files actually allow more memory
  510.         blocks to be specified (since it was created for &linm68k;),
  511.         but <emphasis>only one</emphasis> memory block can be used
  512.         in &linapus;. If you have more than one block of memory in
  513.         your system, you must specify the block located on the
  514.         &cybppc; or &blzppc; card.</para>
  515.  
  516.       <para>You should be able to get the required numbers from
  517.         showconfig or a similar tool under &ados;.</para>
  518.  
  519.       <para>Notice that the size of the memory is 512kB less than
  520.         what you would expect (33030144 is 31.5MB). This is normal
  521.         <emphasis>and required</emphasis>. The 512kB block is used
  522.         to hold the &cpuppc; exception vector table and other &p5;
  523.         stuff.</para>
  524.  
  525.  
  526.       <sect3><title>ROM Shadowing</title>
  527.  
  528.         <para>If you are using the Shadow hardware on your &p5;
  529.           &cybppc; or &blzppc; board to remap the &ados; ROM to RAM,
  530.           you should either disable this before booting &linapus; or
  531.           make sure the memory size reflects this mapping: the
  532.           memory size reported by bootstrap should be 1MB smaller
  533.           than the amount of RAM in your system. If it is only 512kB
  534.           smaller, you have to use a memfile, specifying the total
  535.           amount of RAM less the 1MB.</para>
  536.  
  537.         <para>The newer kernels (980725+) will detect the ROM
  538.           shadowing (based on the memory size) and will avoid that
  539.           chunk of memory. This means 512kB of your memory will
  540.           remain unused in &linapus;. <emphasis>If you do not
  541.         subtract the 512kB when specifying the size in a memfile,
  542.         the kernel will not boot!</emphasis></para>
  543.  
  544.       </sect3>
  545.       <!-- FIXME
  546.     <sect3><title>Memory Alignment</title>
  547.  
  548.     <para>Currently the memory in &linapus; has to be mapped
  549.       using BATs. This means that the physical address of the
  550.       memory block must have the same alignment as its
  551.       size.</para>
  552.  
  553.     <para>It should be possible to map parts of the memory space
  554.       with segment registers but this is not working at the
  555.       moment. This restriction will hopefully go away in the
  556.       future.</para>
  557.  
  558.     </sect3>
  559.       -->
  560.  
  561.       <sect3 id="fastswap"><title>Memory-to-Memory
  562.           Swapping</title>
  563.  
  564.         <para> Even though only one block of memory can
  565.           be used for primary memory in &linapus; you can use
  566.           other memory resources as a fast swapping device. Using
  567.           slower memory for swapping makes sense; your
  568.           applications are always running in the fast primary
  569.           memory on the &pup; board, but the slower memory is
  570.           still providing a much faster page swapping service than
  571.           the harddisk would.</para>
  572.  
  573.         <para> You specify a block of memory for
  574.           swapping by adding a line to the memory file (or by
  575.           relying on the default &ados; priority ordering of the
  576.           memory blocks). On my box, I have 32MB on the &cybppc;
  577.           and 8MB on the motherboard of my A4000. The default
  578.           &ados; ordering matches this memory file:</para>
  579.  
  580.         <screen>
  581.           
  582.           2097152
  583.           0x08000000 33030144
  584.           0x07800000 8388608 </screen>
  585.         
  586.         <para> Again, the default &ados; priority
  587.           ordering may do the correct thing for you. If not, you
  588.           have to use a memory file.</para>
  589.  
  590.         <para> After booting, you need to tell &linux;
  591.           to use the new swapping device. First you must add a new
  592.           device node:</para>
  593.  
  594.         <screen>
  595.           
  596.           mknod /dev/fastram b 37 4 </screen>
  597.  
  598.         <para> Each time you boot you have to initialize
  599.           the memory area (it doesn't keep its state over reboot
  600.           as your swap partition does), and enable it with a
  601.           higher priority than the swap partition (put the lines
  602.           in <filename>/etc/rc.d/sysinit</filename> or
  603.           similar). </para>
  604.  
  605.         <screen>
  606.           
  607.           mkswap /dev/fastram
  608.           swapon -p1 /dev/fastram</screen>
  609.  
  610.         <para> In the above only a single memory chunk
  611.           is used for swapping. The z2ram device can only handle
  612.           one chunk at the moment. However, it can select other
  613.           than the second chunk of the memory list; minor numbers
  614.           4, 5, 6, and 7 select memory chunks 2, 3, 4, and 5
  615.           respectively, chunk 1 being used as primary memory.</para>
  616.       </sect3>
  617.  
  618.       <!-- FIXME
  619.     <sect3 id="sec-rs"><title>Memory Configuration Examples</title>
  620.  
  621.     <para> FIXME </para>
  622.  
  623.     </sect3>
  624.       -->
  625.     </sect2>
  626.       </sect1>
  627.  
  628.       <sect1><title>The First Step</title>
  629.  
  630.     <para> Before you go any further and start downloading
  631.       packages, you should make sure that you can actually boot
  632.       &linapus;.</para>
  633.  
  634.     <para> Get the required files for booting and follow
  635.       the boot instructions above.</para>
  636.  
  637.     <para> If all goes well &linapus; should boot,
  638.       displaying a picture of an (alcoholic :) penguin (called Tux)
  639.       in the upper left corner of the screen. Text should be output,
  640.       showing the progress of the boot, eventually leaving you with
  641.       a # prompt and a blinking cursor (unless you boot with
  642.       debug=<whatever> in which case you will not see the
  643.       text, only Tux and the prompt).</para>
  644.  
  645.     <para> Your disk partitions should be recognized,
  646.       notifying you of this fact with some output similar to:</para>
  647.  
  648.     <screen>
  649.  
  650.       Partition check:
  651.       hda: hda1
  652.       hdb: hdb1 hdb2 hdb3 hdb4   </screen>
  653.  
  654.     <para> This is a good sign as it means the disk driver
  655.       is probably working. Depending on your hardware configuration
  656.       you might not see this. Either because there exists no driver
  657.       for the disk controller, or because the driver has not been
  658.       included in the prebuilt kernel you booted. In both cases,
  659.       report your finding to the &linapus; kernel mailing list for
  660.       advice.</para>
  661.  
  662.     <para> The ram disk contains a few tools that allow
  663.       you to mount disks to see if they work as expected. This ram
  664.       disk was used in an older installation scheme, but unless you
  665.       really know what you do, you should use the &rh;
  666.       installer.</para>
  667.  
  668.     <para> If you got this far, it should be safe for you
  669.       to start downloading packages for a proper installation of
  670.       your &linapus; system. Good luck!</para>
  671.       </sect1>
  672.  
  673.       <sect1 id="preppart"><title>Preparing Partitions</title>
  674.  
  675.     <para><emphasis>Text by Thomas Lohmann</emphasis></para>
  676.  
  677.     <para>The partitions for installing &linapus; should be created
  678.       using &hdtbox; which is included in
  679.       &ados; since version 2.x.  You need at least two partitions,
  680.       one for SWAP (as big as your memory is) and one for ROOT.  You
  681.       have to set the advanced options using
  682.         &hdtbox; to ON and set the
  683.       filesystem type to "CUSTOM FILE SYSTEM", the identifier has to
  684.       be set as follows:</para>
  685.  
  686.     <itemizedlist>
  687.       <listitem><para> 0x4c4e5800 (LNX/0) For all major &linux;
  688.           partitions.</para> 
  689.       </listitem>
  690.       <listitem><para> 0x53575000 (SWP/0) For the swap
  691.           partition.</para> 
  692.       </listitem>
  693.     </itemizedlist>
  694.  
  695.     <para>You can also set "Reserved Blocks at" to 0 for both
  696.       beginning and end, but this should not be necessary.</para>
  697.  
  698.       </sect1>
  699.       <sect1><title>Installing a &rh; System</title>
  700.  
  701.     <para>You can get precompiled &rh; &rpm; packages from
  702.       www.linuxppc.org (see <xref linkend="links">) or its
  703.         mirrors. You can also buy the CD-ROM (details at the WEB
  704.         site). <emphasis>&rhppc; does not explicitly support
  705.           &linapus;. None of the &linapus; developers are affiliated
  706.           with the &rhppc; developers. This help is offered "AS IS" --
  707.           without any guarantees of your success.</emphasis></para>
  708.  
  709.  
  710.     <sect2><title>&rhppc; Installation</title>
  711.  
  712.       <para><emphasis>Text by Ken Tyler</emphasis></para>
  713.  
  714.       <sect3><title>Overview</title>
  715.  
  716.         <para>The &rhinstaller; simplifies the process of
  717.           partitioning, formatting installing and configuring the
  718.           &linux; &rhppc; distribution.</para>
  719.  
  720.         <para>No previously installed &linux; is required, the
  721.           installation is started from &ados; by booting a kernel
  722.           with the &linapus; ram disk image as the root
  723.           filesystem.</para>
  724.  
  725.         <para> The &rhinstaller; has been used to install
  726.           from a hard disk partition to other partitions on the same
  727.           drive.  Christophe Decanini reports that CDROM, FTP and
  728.           NFS work.</para>
  729.  
  730.         <para>Note: See <xref linkend="borken"> for a list of
  731.         applications that are known to fail.</para>
  732.  
  733.  
  734.  
  735.       </sect3>
  736.       <sect3><title>Requirements</title>
  737.  
  738.         <itemizedlist>
  739.           <listitem><para> A kernel.</para></listitem>
  740.           <listitem><para> The latest &linapus; &rhinstaller; ram
  741.           disk image (usually named <filename>
  742.             apus-rh-ramdiskimageYYMMDD.gz</filename> in
  743.           <xref linkend="sd-install-rh">).</para>
  744.           </listitem>
  745.           <listitem><para> &rpm;s, base files and
  746.           <filename>README.installer</filename>.  Available on
  747.           the &linux; &rhppc; CD-ROM or from <ulink
  748.             url="ftp://ftp.linuxppc.org">ftp.linuxppc.org</ulink>
  749.           and mirrors.</para> 
  750.  
  751.         <para> The base files required are
  752.           <filename>comps.pmac</filename>,
  753.           <filename>hdlist</filename>,
  754.           <filename>skeleton.cgz</filename> and
  755.           <filename>uglist</filename>.</para>
  756.           </listitem>
  757.           <listitem><para> A few moments spent reading
  758.           this docment, especially the Problems at the end of
  759.           this section.</para>
  760.           </listitem>
  761.         </itemizedlist>
  762.       </sect3>
  763.       
  764.       <sect3><title>What is an &rpm;?</title>
  765.  
  766.         <para> &rpm; is the acronym for &rh; Package
  767.           Manager.  This is a standalone program that installs
  768.           software on to a &linux; system. Files intended for use by
  769.           &rpm; have the extension <filename>.rpm</filename>. The
  770.           &rhinstaller has a library version of the RedHat Package
  771.           Manager in the install ramdisk.image.</para>
  772.  
  773.       </sect3>
  774.  
  775.       <sect3><title>Hard Disks</title>
  776.  
  777.         <para>The &rhinstaller; can partition and format hard disks,
  778.           but depending on which install method you use you might
  779.           need to partition your hard disk first with
  780.         &hdtbox;.  On a single drive
  781.           system, an AFFS &ados; partition is needed to hold the &rpm;s
  782.           in addition to the required &linux; and swap partitions.  On a
  783.           system with two or more drives, or when using the other
  784.           install methods the installer can do the partitioning and
  785.           formatting of the drive(s).</para>
  786.  
  787.         <para>On the AFFS drive or partition a directory <filename
  788.         class=directory>RedHat</filename> with subdirectories
  789.           <filename class=directory>RPMS</filename> and <filename
  790.         class=directory>base</filename> should be created.  The
  791.           <filename class=directory>base</filename> directory should
  792.           hold the <filename>comps.pmac</filename>,
  793.           <filename>hdlist</filename>,
  794.           <filename>skeleton.cgz</filename> and
  795.           <filename>uglist</filename> files.  The <filename
  796.         class=directory>RPMS</filename> directory is the place for
  797.           the collected &rpm;s.</para>
  798.  
  799.         <para> The suggested &rh; minimum system is about
  800.           25MB of &rpm;s which needs about 70MB of &linux; disk
  801.           space.</para>
  802.  
  803.       </sect3>
  804.       <sect3><title>Components "comps" file and <filename
  805.         class=directory>RPMS</filename></title>
  806.  
  807.         <para> Read the
  808.           <filename>README.installer</filename> for info on the
  809.           <filename>comps.pmac</filename> file format.  Basically
  810.           there are two types of line; separator lines and &rpm;
  811.           prefix lines.  Separator lines start with a digit or the
  812.           word 'end' and divide the &rpm;s into groups, &rpm; prefix
  813.           lines are partial &rpm; names.  An indented &rpm; prefix
  814.           line implies that the &rpm; specified by the preceding
  815.           non-indented line is required.  If the
  816.           <filename>comps.pmac</filename> file has entries for
  817.           &rpm;s that don't exist in the <filename class=directory>
  818.         RPMS</filename> directory the installer complains about
  819.           them but will work, but to avoid saying OK to many
  820.           warnings edit the <filename>comps.pmac</filename> file to
  821.           include only the &rpm;s you have.</para>
  822.  
  823.         <para>The long filenames of some &rpm;s are chopped at the
  824.           &amiga; 32 character limit but this is not a problem since
  825.           &rpm; will scan the packages for their full name.</para>
  826.  
  827.       </sect3>
  828.       <sect3><title>Installing</title>
  829.  
  830.         <para>Copy the
  831.           <filename>apus-rh-ramdiskimageYYMMDD.gz</filename> to RAM:
  832.           and boot specifying:</para>
  833.  
  834.         <screen>
  835.  
  836.           -r ram:apus-rh-ramdiskimageYYMMDD.gz root=/dev/ram      </screen>
  837.  
  838.         <para>in addition to the usual <option>--apus</option>,
  839.           <option>-k</option>, and <option>-m</option> options as
  840.           required.</para>
  841.  
  842.         <para>I use (all on one line) :</para>
  843.  
  844.         <screen>
  845.  
  846.           boothack --apus -v -d -m memfile -k ram:vmlinux -r ram:apus-rh-ramdiskimageYYMMDD.gz root=/dev/ram       </screen>
  847.  
  848.         <para>If all goes well a window asking if you have a color
  849.           monitor will appear.</para>
  850.  
  851.         <para>(Respond to the windows with <keycap>CR</keycap> to
  852.           enter, <keycap>SPACE</keycap> to toggle on/off and
  853.           <keycap>TAB</keycap> to move between buttons, cursor
  854.           arrows to move up and down lists.)</para>
  855.  
  856.         <para>Now comes a succession of windows guiding you through
  857.           the installation.  Reply to these to suit your system.
  858.           Choose install at the install/upgrade window.  Eventually
  859.           you should get to the window asking what packages to
  860.           install.  Select what you require or the "everything"
  861.           option at end of the list.</para>
  862.  
  863.         <para>After the Package install finishes there may be much
  864.           disk activity as the &rpm; database is created.</para>
  865.  
  866.         <para>A few more windows, networking timezone and root
  867.           password.</para>
  868.  
  869.         <para>Finally an "OK to reboot" screen should appear but
  870.           wait till the disk activity stops before
  871.           rebooting.</para>
  872.  
  873.         <para> During the the install,
  874.           <keycap>CTRL</keycap>-<keycap>Z</keycap> brings a shell
  875.           up, entering <command>exit</command> returns you to the
  876.           installer.  <keycap>ALT</keycap>-<keycap>F1</keycap> to
  877.           <keycap>ALT</keycap>-<keycap>F4</keycap> select installer,
  878.           a shell, installer log and kernel log virtual
  879.           consoles. To get <keycap>F11</keycap> to <keycap>F20</keycap>
  880.           use <keycap>SHFT</keycap>-<keycap>F1</keycap> etc.</para>
  881.       </sect3>
  882.  
  883.       <sect3><title>Required RPMS</title>
  884.  
  885.         <para> To create a list of the suggested required
  886.           &rpm;s for a minimum system, take the &rpm; prefixes in
  887.           the '1 *beforeskel*' and the '1 Base' sections of the
  888.           <filename>comps.pmac</filename> file and expand them into
  889.           the full &rpm; name as contained in the <filename
  890.         class=directory>RPMS</filename> directory.</para>
  891.       </sect3>
  892.  
  893.       <sect3><title>Problems</title>
  894.  
  895.         <para> Flashing console problem. The current CD
  896.           (as at 27-Oct-98) writes an
  897.           <filename>/etc/inittab</filename> that attempts to start X
  898.           at the default run level of 3 rather than run level 5.  As
  899.           kernels from 2.1.120 to the 981026 release have problems
  900.           with X on some hardware, the result is alternating flashes
  901.           of login screens and blank X screens. To avoid this,
  902.           either get a 981031 or newer kernel, or fix the
  903.           installation: when the installation finishes don't respond
  904.           to the "Congratulations" window but hit
  905.           <keycap>ALT</keycap>-<keycap>F2</keycap> and edit
  906.           <filename>/mnt/etc/inittab</filename>.  All that needs to
  907.           be done to <filename>/mnt/etc/inittab</filename> is to
  908.           swap the comment '#' char on the last two lines of the
  909.           file.  To run any of the newly installed editors you need
  910.           to specify a full path, the installed system is on /mnt.
  911.           Now hit <keycap>ALT</keycap>-<keycap>F1</keycap> and
  912.           confim the "Congratulations" window. Thanks to Kolbjørn
  913.           Barmen for suggesting this approach.  If you have already
  914.           installed the the X components and are seeing the flashing
  915.           console, you need to login and edit
  916.           <filename>/etc/inittab</filename> and make the above
  917.           change. Can be difficult to login through the flashing but
  918.           it can be done.  Look at the top left of the screen to see
  919.           the password characters that <emphasis>don't</emphasis>
  920.           get to the password prompt (retype these).</para>
  921.  
  922.         <para> The first version of the installer was
  923.           incorrectly named
  924.           <filename>apus-rh-ramdisk.image130698.gz</filename>,
  925.           should have been called
  926.           <filename>apus-rh-ramdisk.image980613.gz</filename>.</para>
  927.  
  928.         <para>NOTE: <filename>apus-rh-ramdisk.image981003</filename>
  929.           requires the <filename>comps</filename> file to be named
  930.           <filename>comps.pmac</filename>, for earlier versions of
  931.           the installer, rename <filename>comps.pmac</filename> to
  932.           <filename>comps</filename>.</para>
  933.  
  934.         <para> If you have a 4.2 CD February 98 use
  935.           <filename>apus-rh-ramdisk.image130698.gz</filename>, if
  936.           you have the 5.0 CD or try the other install methods use
  937.           <filename>apus-rh-ramdisk.image981003</filename>.  The
  938.           130698 installer has problems with the 'noarch' files in
  939.           the 5.0 distribution.</para>
  940.  
  941.         <para> Three of the &rpm;s on the 4.2 CD have
  942.           errors when installing.
  943.           <filename>dailyscript-3.1-2.ppc.rpm</filename> writes a
  944.           message over the progress screen,
  945.           <filename>latex2html-96.1.revh-4.ppc.rpm</filename> and
  946.           <filename>xmahjongg-2.0-1A.ppc.rpm</filename> fail with
  947.           install script failed.</para>
  948.  
  949.         <para> I have yet to do a full install from the
  950.           5.0 CD. Installing the suggested base was free of
  951.           errors.</para>
  952.  
  953.         <para> Some users have a reported a 'missing kernel error'
  954.           when attempting to install from downloaded &rpm;s. The
  955.           installer tries to put a kernel into the <filename
  956.         class=directory>/boot</filename> directory. There is no
  957.           reason to do this as the kernels available on linuxppc.org
  958.           are not &linapus; kernels. To avoid this edit the
  959.           <filename>comps.pmac</filename> file and remove the two
  960.           (4.2) or three (5.0) lines
  961.           <filename>kernel-prep</filename>,
  962.           <filename>kernel-pmac</filename>,
  963.           <filename>kernel-pmac-modules</filename>.</para>
  964.  
  965.  
  966.         <para>Comments, feedback about success or failure most
  967.           welcome, I read the &linapus; list daily.</para>
  968.  
  969.       </sect3>
  970.     </sect2>
  971.  
  972.     <sect2><title>&rhrc; Installation</title>
  973.  
  974.       <para> &rh; has released a CD set named Linux Rough Cuts,
  975.         containing (unsupported) &rh; ports for (among other CPUs)
  976.         &cpuppc; and &cpum68k;. The &cpuppc; installation is
  977.         intended for MkLinux, but it's possible to use it for
  978.         &linapus;.</para>
  979.  
  980.       <para> Basically you should follow Ken's instructions
  981.         above. There are a few differences, primarily because the
  982.         &rhrc; CD does not contain all the required install
  983.         files. But follow the below instructions, and you should
  984.         come out of it OK anyway.</para>
  985.  
  986.       <para> Get the file
  987.         <filename>rh-roughcuts-981108.tgz</filename> from <xref
  988.           linkend="sd-install-rh">. It contains what you need to get
  989.           started.</para>
  990.  
  991.       <para> The layout of the &rhrc; CD is wrong (for the &linapus;
  992.         installer), and is missing files (probably because it's
  993.         intended to be used from MacOS). You have to create a
  994.         correct layout. You can do this in at least two ways; 1)
  995.         install via FTP and create the correct layout on another
  996.         Linux box using soft links (I did this) 2) install from
  997.         harddisk, having copied the CD contents to a harddisk and
  998.         added the extra bits.</para>
  999.  
  1000.       <para> Below the tree structure of the directory I created on
  1001.         Concubine for installation on Cyber (-> is a soft link
  1002.         to the file or directory on the &rhrc; CD). During
  1003.         installation I set the FTP directory to the path
  1004.         containing <filename>RedHat</filename> you see as the top
  1005.         node below.</para>
  1006.  
  1007.       <screen>
  1008.  
  1009.         `-- RedHat
  1010.         |-- RPMS -> /mnt/cdrom/RedHat/RPMS
  1011.         |-- TRANS.TBL -> /mnt/cdrom/RedHat/TRANS.TBL
  1012.         |-- base
  1013.         |   |-- RedHat -> /mnt/cdrom/RedHat/    
  1014.         |   |-- TRANS.TBL -> /mnt/cdrom/RedHat/base/TRANS.TBL
  1015.         |   |-- comps.pmac    
  1016.         |   |-- hdlist -> /mnt/cdrom/RedHat/base/hdlist
  1017.         |   |-- skeleton.cgz
  1018.         |   `-- uglist
  1019.         |-- ppc -> /mnt/cdrom/RedHat/ppc    
  1020.         `-- rpmcontents.gz -> /mnt/cdrom/RedHat/rpmcontents.gz  </screen>
  1021.       
  1022.       <para> The structure is found in the
  1023.         <filename>rh-roughcuts-981108.tgz</filename> archive; you
  1024.         might want to use it as a base. If you create it yourself,
  1025.         there are three files in there that you need to
  1026.         include:</para>
  1027.  
  1028.       <itemizedlist>
  1029.         <listitem><para><filename>comps.pmac</filename> The
  1030.         <filename>comps</filename> file from the base
  1031.         directory of the disk. The two &rpm; packages
  1032.         <emphasis>MAKEDEV</emphasis> and
  1033.         <emphasis>dev</emphasis> have been moved down as the
  1034.         last to be installed due to some problem I couldn't
  1035.         track down.</para>
  1036.         </listitem>
  1037.         <listitem><para><filename>skeleton.cgz</filename> The
  1038.         skelton file from the &rhppc; installation containing
  1039.         a few extra files.</para>
  1040.         </listitem>
  1041.         <listitem><para><filename>uglist</filename> The skelton
  1042.         file from the &rhppc; installation.</para>
  1043.         </listitem>
  1044.       </itemizedlist>
  1045.  
  1046.       <para> When you have this set up, installing is done exactly
  1047.         as with the &rhppc; CD. <note><para>The text printed out
  1048.         before the login prompt is from the &linppc; skeleton, so
  1049.         it is somewhat misleading...</para>
  1050.         </note></para>
  1051.     </sect2>
  1052.       </sect1>
  1053.  
  1054.       <sect1><title>Installing a &debian; System</title>
  1055.  
  1056.     <para>You can get precompiled &debppc; &deb; packages from
  1057.       www.debian.org (see <xref linkend="links">) or its
  1058.         mirrors. Currently no &cpuppc; version of the &debian;
  1059.         CD distribution exists.</para>
  1060.  
  1061.     <sect2><title>Installation</title>
  1062.  
  1063.       <para><emphasis>Text by Michel Dänzer</emphasis></para>
  1064.  
  1065.       <para>First of all, be aware that installing &debian; is
  1066.         quite a bit harder at the moment than installing
  1067.         &rhppc;. I mention this so nobody downloads lots of stuff
  1068.         and then has to give up frustrated. There is no CD-ROM
  1069.         release until now, the guys at &debppc; want to wait until
  1070.         it's virtually equal to the i386 &deb;.  However, if
  1071.         you've got the time and will to experiment a little, give
  1072.         it a go!  You won't be deceived :-)</para>
  1073.  
  1074.       <para><emphasis>Please read all the instructions carefully
  1075.           before you start.</emphasis></para>
  1076.  
  1077.       <sect3><title>Preparing the filesystems</title>
  1078.  
  1079.         <para>You need to have an empty ext2 partition, which will
  1080.           be the root partition. You will probably need a swap
  1081.           partition and maybe others as well. It's up to you how
  1082.           you arrange things. You might want to read <xref
  1083.         linkend="preppart"> first.</para>
  1084.  
  1085.       </sect3>
  1086.       <sect3><title>Installing the base filesystem</title>
  1087.  
  1088.         <para>Get a base tarball. I have uploaded one to sunsite,
  1089.           it should be in <xref linkend="sd-install-deb">. Get the
  1090.         <filename>rd-deb-install.gz</filename> ramdisk
  1091.         there. You might want to download or at least look at
  1092.         the other files there as well.</para>
  1093.  
  1094.         <para>Unpack the base tarball. I'll quickly describe how
  1095.           to do this with the
  1096.           <filename>rd-deb-install.gz</filename>.
  1097.         </para>
  1098.         
  1099.         <para>Boot the ramdisk. Init will ask you to enter the
  1100.           runlevel, type 'S' and press enter there. Now you'll see
  1101.           a rather ugly prompt, however, it's bash, so you have
  1102.           all the commodities like command history etc. Format the
  1103.           root partition (I call it /dev/sda2 here because that's
  1104.           my root partition at home; replace it with
  1105.           <emphasis>your</emphasis> root partition):
  1106.         </para>
  1107.         
  1108.         <screen>
  1109.           
  1110.           mke2fs /dev/sda2 </screen>
  1111.         
  1112.         <para>Mount the soon-to-be root partition at /mnt/root: </para>
  1113.  
  1114.         <screen>
  1115.  
  1116.           mount -t ext2 /dev/sda2 /mnt/root </screen>
  1117.         
  1118.         <para>Mount the Amiga partition containing the base
  1119.           tarball at /mnt/amiga (Again, replace /dev/sda4 with
  1120.           your partition ;):
  1121.         </para>
  1122.         
  1123.         <screen>
  1124.           
  1125.           mount -t affs /dev/sda4 /mnt/amiga </screen>
  1126.  
  1127.         <para>CD to the base tarball's directory and unpack it with:
  1128.         </para>
  1129.  
  1130.         <screen>
  1131.  
  1132.           tar xvzpf base2_1.2.0.11.4_1998-10-15.tgz -C /mnt/root </screen>
  1133.  
  1134.         <para>The <option>p</option> switch is vital, it sets all
  1135.           permissions correctly.</para>
  1136.  
  1137.         <para>Remove the <filename>unconfigured.sh</filename>
  1138.           script which would prevent the thing from booting (Note:
  1139.           if you're unlucky and have the first version of
  1140.           <filename> rd-deb-install.gz</filename>, you will have
  1141.           to use <filename>/mnt/root/bin/rm</filename>):
  1142.         </para>
  1143.  
  1144.         <screen>
  1145.  
  1146.           rm /mnt/root/sbin/unconfigured.sh </screen>
  1147.  
  1148.         <para>You need to create
  1149.           <filename>/mnt/root/etc/fstab</filename>, or else init
  1150.           won't be able to mount the filesystems at boot time. You
  1151.           can use <filename>joe</filename> to do that:
  1152.         </para>
  1153.         
  1154.         <screen>
  1155.           
  1156.           joe /mnt/root/etc/fstab  </screen>
  1157.         
  1158.         <para>Press CTRL-K and then H for help. CTRL-K X to save the
  1159.           file.</para>
  1160.         
  1161.         <para><emphasis>FIXME: Unfortunately, there is no template
  1162.         fstab in this base tarball anymore.</emphasis> If you
  1163.           don't know how to set it up, refer to other FAQs (I
  1164.           would be glad if someone could add an example here -
  1165.           or maybe I'll do it sometime :).</para>
  1166.  
  1167.         <para>Now you're set for a first boot into your shiny new
  1168.           &debian; root partition!  Remember to unmount all
  1169.           filesystems before rebooting.</para>
  1170.  
  1171.         <screen>
  1172.           
  1173.           umount /mnt/root
  1174.           umount /mnt/amiga  </screen>
  1175.  
  1176.       </sect3>
  1177.       <sect3><title>The first boot</title>
  1178.  
  1179.         <para>It should boot right through to the login
  1180.           screen. You must login as root.</para>
  1181.  
  1182.         <para>Now you can start installing additional
  1183.           packages. All the needed stuff like pppd, ftp, etc. is
  1184.           there, so the main problem remaining is probably setting
  1185.           up pppd. Try <application>pppconfig</application>, a
  1186.           tool for that purpose with a User Interface. If that
  1187.           doesn't work, bad luck, check out the PPP-Howto at
  1188.           <ulink
  1189.         url="http://sunsite.unc.edu/LDP/HOWTO/PPP-HOWTO.html">
  1190.         http://sunsite.unc.edu/LDP/HOWTO/PPP-HOWTO.html</ulink>
  1191.         </para>
  1192.  
  1193.         <para>Once this works, <application>dselect</application>
  1194.           can download the packages you want automatically via
  1195.           FTP. Just choose FTP as the installation method. The
  1196.           main server is ftp.debian.org, but you'll probably
  1197.           prefer a mirror close to you. Read
  1198.           <ulink url="http://www.debian.org/misc/README.mirrors">
  1199.         http://www.debian.org/misc/README.mirrors </ulink> for
  1200.           a list. There's also a mirror at &sunsite; in <filename
  1201.         class="directory"> /mirrors/ftp.debian.org</filename>.
  1202.           The distribution directories are <filename
  1203.         class="directory">
  1204.         debian/dists/unstable/main</filename> and
  1205.           optionally <filename class="directory">
  1206.         debian/dists/unstable/contrib</filename>
  1207.           and <filename class="directory">
  1208.         debian/dists/unstable/non-free</filename>. The
  1209.           location of the non-us files varies from mirror to
  1210.           mirror.</para>
  1211.  
  1212.         <para>You should update the libc and libstdc++ packages
  1213.           ASAP. This may break some packages, just update them to
  1214.           the latest version. E.g. you'll probably have to update
  1215.           the dpkg and tar packages.</para>
  1216.  
  1217.         <para>Congratulations, you should be using &debppc;! ;-)</para>
  1218.       </sect3>
  1219.  
  1220.       <sect3><title>X</title>
  1221.         
  1222.         <para>Unfortunately, you can't get X to work with the
  1223.           packages from the official FTP archive. Try the packages
  1224.           Sven built for you in <xref linkend="sd-deb">. You need
  1225.         at least the xbase, xbase-clients, xfonts-base, xlib6g,
  1226.         xserver-common, xserver-fbdev and xterm
  1227.         packages. Install them directly with dpkg:</para>
  1228.         
  1229.         <screen>
  1230.           
  1231.           dpkg -i <path to the files>x*.deb  </screen>
  1232.         
  1233.         <para>You also need a window manager;
  1234.           <filename>twm</filename> in <xref linkend="sd-deb"> is a
  1235.         very simple one to start, there are lots in the official
  1236.         archive.</para>
  1237.       </sect3>
  1238.     </sect2>
  1239.  
  1240.       </sect1>
  1241.       <sect1 id="borken"><title>Software With Known Problems</title>
  1242.  
  1243.     <para>Some &rhppc; packages don't mix well with
  1244.       &linapus;. Please help me keep this list up to date so people
  1245.       don't have to download useless packages.</para>
  1246.  
  1247.     <itemizedlist>
  1248.       <listitem><para> The <filename>kbd*</filename> packages messes
  1249.           up the keyboard layout. Do not install them. Supposedly
  1250.           there are &amiga; keyboard patches for the recent kdb
  1251.           packages. I have not tried it myself though.  </para>
  1252.       </listitem>
  1253.       <listitem><para> <application>Emacs-nox</application> core
  1254.           dumps. This is a generic problem. The
  1255.           <application>emacs</application> compiled with X libs
  1256.           works fine.</para>
  1257.       </listitem>
  1258.       <listitem><para> <application>Gpm</application> requires a
  1259.           small patch to be working. This is available from <xref
  1260.           linkend="sd-misc"> (provided by Holger Jakob).  The
  1261.           patch is not needed for <application>Gpm</application>
  1262.           version 1.16 and above. You may also have to add
  1263.           <literal>MOUSETYPE='BUSMOUSE'</literal> to
  1264.           <filename>/etc/sysconfig/mouse</filename>.</para>
  1265.       </listitem>
  1266.     </itemizedlist>
  1267.  
  1268.       </sect1>
  1269.     </chapter>
  1270.     <chapter id="applications"><title>Applications</title>
  1271.  
  1272.       <para> This chapter contains a few random notes on
  1273.     applications for &linapus;. </para>
  1274.  
  1275.       <para> You can get precompiled software for a complete
  1276.     system in both &rh; and &debian; packages (see <xref
  1277.       linkend="links">). The thing to remember when looking for
  1278.       applications is that &linapus; is binary compatible with
  1279.       &linppc; so you should have no problems finding
  1280.       software.</para>
  1281.  
  1282.       <para>Some commercial applications are also available for
  1283.     &linux;, but only in binary form. You would have to persuade
  1284.     the company to start shipping &cpuppc; compiled binaries in
  1285.     that case. I can imagine some of the other &linppc; sites
  1286.     would be coordinating such efforts, or at least it seems like
  1287.     a good idea to do.</para>
  1288.  
  1289.  
  1290.       <sect1><title>X</title>
  1291.  
  1292.     <para>In order to run &x; you need to get a version of the &x;
  1293.       server compiled for &cpuppc; with support for the &amiga;
  1294.       hardware. Luckily, such a server is provided by Geert
  1295.       Uytterhoeven at 
  1296.       <ulink
  1297.         url="http://www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19981017.gz">
  1298.         www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19981017.gz
  1299.       </ulink> (You might find a newer version than this).
  1300.     </para>
  1301.  
  1302.     <para>date990322 You should also get
  1303.       <application>fbset</application> from Geert's site:
  1304.       <ulink
  1305.         url="http://www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz">
  1306.         www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz</ulink>
  1307.         (again, there may be a newer version). This file may
  1308.         also be useful: <ulink
  1309.         url="http://www.cs.kuleuven.ac.be/~geert/bin/fb.modes.gz">
  1310.         www.cs.kuleuven.ac.be/~geert/bin/fb.modes.gz</ulink>
  1311.     </para>
  1312.  
  1313.  
  1314.     <para>Unzip the &x; server and copy it to
  1315.       <filename>/usr/X11R6.3/bin/X</filename>.</para>
  1316.  
  1317.     <para>Now get the example <filename>XF86Config</filename> file
  1318.       from <xref linkend="sd-misc"> and copy it to
  1319.         <filename>/etc/XF86Config</filename>.</para>
  1320.  
  1321.     <para>Next, you have to create some &amiga; specific devices
  1322.       which are not included in the &rhppc; packages:</para>
  1323.  
  1324.     <screen>
  1325.  
  1326.       cd /dev
  1327.       mknod fb0current c 29 0
  1328.       mknod amigamouse c 10 4
  1329.       ln -s fb0current fb0
  1330.       ln -s amigamouse mouse    </screen>
  1331.  
  1332.     <para>Now you should be ready to start up &x; by issuing the
  1333.       command "<application>startx</application>".</para>
  1334.  
  1335.     <sect2><title>&x; and graphics cards</title>
  1336.  
  1337.       <para>There are a few more details to sort out if you want
  1338.         to run &x; on a graphics card. This text is specific to
  1339.         CyberVision and CyberVision/3D -- but it might help you
  1340.         get &x; running on other cards. Please let me know of your
  1341.         success if you try that.</para>
  1342.  
  1343.       <para>Note: You have to use the same pixel clock under
  1344.         &linapus; as you use under &ados;</para>
  1345.  
  1346.       <para> <emphasis>Text by Jeffrey W. Davis</emphasis></para>
  1347.  
  1348.       <para>I just wanted to inform everyone that &linapus; and the
  1349.         CV64 is working.  I do not have the CV64/3D, but apparently
  1350.         it is also working.  From what I have seen for the CV64/3D
  1351.         you need to substitute <option>"virge"</option> for any
  1352.         instance where I mention <option>"cyber"</option>.</para>
  1353.  
  1354.       <para>(The frame buffer label <option>"cyber"</option>
  1355.         selects the CyberVision64 driver and
  1356.         <option>"virge"</option> the Cybervision64/3D
  1357.         driver.)</para>
  1358.  
  1359.  
  1360.       <para>    I use a simple boot script as follows:</para>
  1361.  
  1362.       <screen>
  1363.  
  1364.         copy bootstrap ram:boothack
  1365.         boothack --apus -v -k ram:vmlinux root=/dev/hda3 video=cyber:1024x768-8    </screen>
  1366.  
  1367.       <para>Apparently, only resolutions understood by &linux; work
  1368.         at present.  Therefore, you should choose
  1369.         <option>640x480</option>, <option>800x600</option>, or
  1370.         <option>1024x768</option> in the above statement.  I believe
  1371.         all of them have been reported to work.  I'm sure that there
  1372.         are others, but I haven't done much experimentation at this
  1373.         point.</para>
  1374.  
  1375.       <para>Make sure that before you boot &linapus;, that your
  1376.         CyberGfx video mode matches what you have selected to boot
  1377.         &linapus;.  I believe the two key factors in the command
  1378.         line are the <option>-v</option> and <option>video=</option>
  1379.         options.  You should be able to modify the rest to suit your
  1380.         configuration.</para>
  1381.  
  1382.       <para>Once you have successfully booted &linux; you will see
  1383.         the penguin drawing and probably a much higher resolution
  1384.         that what you have seen before.</para>
  1385.  
  1386.       <para>To run &x; you will need to specify the resolution in
  1387.         the <filename>/etc/XF86Config</filename> file.  There is
  1388.         an example in the same directory as where you found Geert
  1389.         Uytterhoeven's &x; server.  To figure out what parameters
  1390.         you need, use "<command>fbset -x</command>"
  1391.         <footnote>
  1392.           <para>You will also find
  1393.         <application>fbset</application> in the, by now,
  1394.         famous directory with Geert Uytterhoeven's &x;
  1395.         server.</para>
  1396.         </footnote>
  1397.         which will show you what you are currently using.  If you
  1398.         are running in an interlaced mode, the
  1399.         <application>fbset</application> program will show you
  1400.         values that your monitor will not actually support.
  1401.         BUT... these values will work properly.  Simply LIE about
  1402.         the scanrate in your monitor definition in the
  1403.         <filename>XF86Config</filename> file.  It will work.  Use
  1404.         the values returned from <application>fbset</application>
  1405.         and you should be able to start X with no problem.
  1406.         <footnote>
  1407.           <para>I'd like to see this paragraph rewritten - I
  1408.         wouldn't want someone accidently blowing up their
  1409.         monitor. Users, do be careful! -Jesper</para>
  1410.         </footnote></para>
  1411.  
  1412.       <para>If I use the same resolution for everything, with only
  1413.         one resolution specified for X everything works great.  Good
  1414.         luck!  Really... it works!</para>
  1415.     </sect2>
  1416.  
  1417.     <sect2><title>&x; on PAL-lace or NTSC-lace screens</title>
  1418.  
  1419.       <para> <emphasis>Text by Marco De Vitis</emphasis></para>
  1420.  
  1421.       <para> You have to start &linux; in the screenmode
  1422.         you want to use, through the
  1423.         <option>"video=amifb:pal-lace"</option> or
  1424.         <option>"video=amifb:ntsc-lace"</option> options on the
  1425.         bootstrap command line; you can then start &x; making it
  1426.         use the current screenmode. If you already followed the
  1427.         instruction about running &x; above, the only thing you
  1428.         need to do is edit your
  1429.         <filename>/etc/XF86Config</filename> file so that the last
  1430.         section "Screen" only contains one "Display" subsection
  1431.         about the "default" mode:</para>
  1432.  
  1433.       <screen>
  1434.  
  1435.         SubSection "Display"
  1436.         Modes      "default"
  1437.         EndSubsection    </screen>
  1438.  
  1439.       <para> You can alternatively use Geert Uytterhoeven's
  1440.         <filename>XF86Config.pmac</filename> file found at
  1441.         <ulink
  1442.           url="http://www.cs.kuleuven.ac.be/~geert/bin/XF86Config.pmac.gz">
  1443.           www.cs.kuleuven.ac.be/~geert/bin/XF86Config.pmac.gz
  1444.         </ulink>
  1445.         decompressing it and copying it in your system as
  1446.         <filename>/etc/XF86Config</filename>, as it is already set
  1447.         up like that. But you'll probably need to edit it anyway
  1448.         to make it work, changing the line:</para>
  1449.  
  1450.       <screen>
  1451.  
  1452.         Device "/dev/adbmouse" </screen>
  1453.  
  1454.       <para>to:</para>
  1455.  
  1456.       <screen>
  1457.  
  1458.         Device "/dev/mouse" </screen>
  1459.  
  1460.       <para> Please note that &x; won't be much usable
  1461.         in 640x400 or even 640x512, and the current (at the time
  1462.         of writing) version of <application>XFree86</application>
  1463.         doesn't support the "Virtual" option for the "default"
  1464.         mode, but it will do it in the upcoming version 3.3.3,
  1465.         allowing you to have a virtual screen bigger than your
  1466.         actual screensize.</para>
  1467.     </sect2>
  1468.  
  1469.     <sect2><title>Exotic &x; problems :)</title>
  1470.  
  1471.       <sect3><title> VGA mode sync problem</title>
  1472.  
  1473.         <para> <emphasis>Text by Matthias Goerdeler</emphasis></para>
  1474.  
  1475.         <para> After installing &x; for use with AGA
  1476.           vga-mode (just use the <filename>XF86Config</filename>
  1477.           found in <xref linkend="sd-misc">) as described earlier
  1478.         I could start &x;, but the monitor just didn't sync. So
  1479.         if your problem is that X does not start, this will
  1480.         probably not help you.</para>
  1481.  
  1482.         <para> I got my monitor to sync after changing
  1483.           the line <emphasis>A</emphasis> to line
  1484.           <emphasis>B</emphasis> in the monitor section of
  1485.           <filename>XF86Config</filename>:</para>
  1486.  
  1487.         <screen>
  1488.           [A]  HTimings    640 760 804 916
  1489.  
  1490.           [B]  HTimings    640 750 804 916  </screen>
  1491.  
  1492.         <para> It should be pointed out that I do not
  1493.           know how to calculate the correct timing values, it was
  1494.           just 'try and error'. And it is not even sure that this
  1495.           will help you if you run into the same problem as I
  1496.           did. But you could give it a try and report your
  1497.           findings to the linux-apus mailing list.</para>
  1498.       </sect3>
  1499.     </sect2>
  1500.  
  1501.       </sect1>
  1502.       <sect1><title>Compiling Applications</title>
  1503.  
  1504.     <para>You can also compile many applications yourself as the
  1505.       source code is often freely available. This is likely to be
  1506.       necessary if you want to use an application that is not
  1507.       maintained by either the &rhppc; or &debian; teams, as the
  1508.       application author(s) would probably only supply a precompiled
  1509.       version of the application for the ix86 architecture.</para>
  1510.  
  1511.  
  1512.     <para> Some applications need Linux header files to
  1513.       build. These are normally found in <filename
  1514.         class=directory>/usr/include</filename> in the directories
  1515.       <filename class=directory>asm</filename> and <filename
  1516.         class=directory>linux</filename>. When using &linapus; the
  1517.       header files installed by e.g. &rhppc; should be OK for most
  1518.       applications. However, if you decide to replace the default
  1519.       header files with &linapus; specific header files you must
  1520.       also include the directory <filename
  1521.         class=directory>/usr/include/asm-m68k</filename> which must be
  1522.       either a copy of the <filename
  1523.         class=directory>linux/include/asm-m68k</filename> directory or
  1524.       a link to it.</para>
  1525.  
  1526.     <!--
  1527.       <para>When you recompile applications (or shared libs) you
  1528.     should use egcs-1.1 and the egcs patches found in <xref
  1529.     linkend="sd-misc">. Without the patches, the application might
  1530.     get spurious SIGABRTs while running.</para>
  1531.     -->
  1532.  
  1533.       </sect1>
  1534.  
  1535.     </chapter>
  1536.  
  1537.     <chapter id="working"><title>Working Hardware And Drivers</title>
  1538.  
  1539.       <para>When I get reports of hardware configurations that are known
  1540.     to work with &linapus; I put them in this section. You can match
  1541.     these against your own configuration to get an idea of whether
  1542.     &linapus; will work on your box.</para>
  1543.  
  1544.       <para> Note that things listed here are not
  1545.     necessarily included in the precompiled kernels.</para>
  1546.  
  1547.       <para>In comments are listed the people who reported the
  1548.     information - if you have information about a driver currently
  1549.     not on this list (or conflicting information) please let me
  1550.     know.</para>
  1551.  
  1552.       <para>&cybppc; and &blzppc; boards:</para>
  1553.  
  1554.       <itemizedlist>
  1555.     <listitem><para> A4000/o3o with &cybppc; &cpu604;@150MHz
  1556.         (Jesper Skov).</para>
  1557.     </listitem>
  1558.     <listitem><para> A4000/o4o with &cybppc; &cpu604;@200MHz
  1559.         (Jeffrey W. Davis).</para>
  1560.     </listitem>
  1561.     <listitem><para> A4000/??? with &cybppc; &cpu604;@233MHz
  1562.         (Jens K. Jensen).</para>
  1563.     </listitem>
  1564.     <listitem><para> A1200 with &blzppc; &cpu603;@160MHz
  1565.         (Jouko Pynnonen, Sven Luther).</para>
  1566.     </listitem>
  1567.     <listitem><para> A1200 with &blzppc;
  1568.         &cpu603;@200/210MHz (Michel Dänzer).</para>
  1569.     </listitem>
  1570.     <listitem><para> A1200 with &blzppc;
  1571.         &cpu603;@240MHz (Alan Buxey).</para>
  1572.     </listitem>
  1573.     <listitem><para> A3000T with &cybppc; &cpu604;@233MHz
  1574.         (Francisco Sepulveda).</para>
  1575.     </listitem>
  1576.       </itemizedlist>
  1577.  
  1578.       <para> Device Drivers:</para>
  1579.  
  1580.       <itemizedlist>
  1581.     <listitem><para> DISPLAY : AGA display. (Jesper Skov)</para>
  1582.     </listitem>
  1583.     <listitem><para> DISPLAY : CyberVision(/3D). (Sven Ottemann/Jimmy)</para>
  1584.     </listitem>
  1585.     <listitem><para> DISPLAY : Picasso II Clgen. (Francisco Sepulveda)</para>
  1586.     </listitem>
  1587.     <listitem><para> DISPLAY : PM2 (Ilario Nardinocchi)
  1588.         <footnote>
  1589.           <para> The driver included in the precompiled
  1590.         kernel is an old beta. If you want the up-to-date
  1591.         version get the latest sources from the PM webpage
  1592.         (see <xref linkend="links">). Don't expect the
  1593.           precompiled version to behave as described on the
  1594.           webpage!</para>
  1595.         </footnote>
  1596.       </para>
  1597.     </listitem>
  1598.     <listitem><para> FLOPPY : &amiga; floppy disk controller. (Sven
  1599.         Ottemann)</para> 
  1600.     </listitem>
  1601.     <listitem><para> IDE    : A4000 IDE controller. (Jesper Skov)</para>
  1602.     </listitem>
  1603.     <listitem><para> I/O    : &amiga; serial. (Jesper Skov).</para>
  1604.     </listitem>
  1605.     <listitem><para> I/O    : &amiga; printer. (Bartek Kozakiewicz)</para>
  1606.     </listitem>
  1607.     <listitem><para> NET    : A2065. (Jesper Skov)</para>
  1608.     </listitem>
  1609.     <listitem><para> NET    : Ariadne. (Thomas Lohmann)</para>
  1610.     </listitem>
  1611.     <listitem><para> NET    : Ariadne II.
  1612.          <footnote id="ariadne2"> 
  1613.           <para>There's a performance problem with the driver. It
  1614.         runs at 10% of the speed compared with the &ados;
  1615.         driver.</para>
  1616.         </footnote> 
  1617.         (Martin Koenig)</para>
  1618.     </listitem>
  1619.     <listitem><para> NET    : Hydra. (Francisco Sepulveda)</para>
  1620.     </listitem>
  1621.     <listitem><para> NET    : SurfSquirrel. (Carlos Mayo)</para>
  1622.     </listitem>
  1623.     <listitem><para> SCSI   : A3000/T SCSI controller.
  1624.         (Thomas Haller/Arno Griffioen)</para>
  1625.     </listitem>
  1626.     <listitem><para> SCSI   : GVP 11 SCSI controller. (Alex Kazik)</para>
  1627.     </listitem>
  1628.     <listitem><para> SCSI   : GVP A2000-HC+8 Series II. (Thomas
  1629.         Lohmann)</para> 
  1630.     </listitem>
  1631.     <listitem><para> SCSI   : Oktagon 2008 SCSI. (Carsten Pluntke)</para>
  1632.     </listitem>
  1633.     <listitem><para> SCSI   : A4091/4000T SCSI controller. 
  1634.         <footnote id="a4000tscsi2">
  1635.           <para>You have to disable the use of BATs to map
  1636.         main memory. Add <option>"nobats"</option> to
  1637.         your kernel options.  There are
  1638.         still some stability problems with this driver
  1639.         under &linapus;.</para>
  1640.         </footnote>
  1641.         (Ken Tyler)</para> 
  1642.     </listitem>
  1643.     <listitem><para> SCSI : Blizzard/PPC SCSI
  1644.         controller.<footnote id="blzscsi2"> 
  1645.           <para>You have to disable the use of BATs to map main
  1646.         memory. Add <option>"nobats"</option> to your kernel
  1647.         options.</para> 
  1648.         </footnote> 
  1649.         (Sven Luther)</para>
  1650.     </listitem>
  1651.     <listitem><para> SOUND :
  1652.         &amiga; DMA sound. (Carsten Plunkte)</para>
  1653.     </listitem>
  1654.       </itemizedlist>
  1655.  
  1656.       <para>Software Drivers:</para>
  1657.  
  1658.       <itemizedlist>
  1659.     <listitem><para> FS     : affs (Jesper Skov).</para>
  1660.     </listitem>
  1661.     <listitem><para> FS     : dos (Sven Ottemann).</para>
  1662.     </listitem>
  1663.     <listitem><para> FS     : ext2 (Jesper Skov).</para>
  1664.     </listitem>
  1665.     <listitem><para> FS     : hfs (Bartek Kozakiewicz).</para>
  1666.     </listitem>
  1667.     <listitem><para> FS     : iso9660 (Bartek Kozakiewicz).</para>
  1668.     </listitem>
  1669.     <listitem><para> FS     : joliet (Bartek Kozakiewicz).</para>
  1670.     </listitem>
  1671.     <listitem><para> FS     : minix (Jesper Skov).</para>
  1672.     </listitem>
  1673.     <listitem><para> FS     : proc (Jesper Skov).</para>
  1674.     </listitem>
  1675.     <listitem><para> FS     : vfat (Sven Ottemann).</para>
  1676.     </listitem>
  1677.     <listitem><para> MISC   : z2ram (Jesper Skov).</para>
  1678.     </listitem>
  1679.     <listitem><para> RAM    : ram disk (initrd) (Jesper Skov).</para>
  1680.     </listitem>
  1681.     <listitem><para> PROTOCOLS: PPP (Carsten Pluntke).</para>
  1682.     </listitem>
  1683.       </itemizedlist>
  1684.  
  1685.     </chapter>
  1686.     <chapter id="problems"><title>Known Problems</title>
  1687.  
  1688.       <para>There are still plenty of problems with &linapus;. Remember
  1689.     it is a developer kernel, so you cannot expect everything (or
  1690.     anything) to be working. It should get better as time goes by,
  1691.     though.</para>
  1692.  
  1693.       <para>The To Do list below is basically the list of known
  1694.     problems. If you have anything to add to the list, or if any of
  1695.     the listed devices are working for you, please let me
  1696.     know.</para>
  1697.  
  1698.       <sect1 id="todo"><title>To Do - Kernel</title>
  1699.  
  1700.     <para>I work on things as my time permits. I have had bad
  1701.       experiences (plural!) with fixing drivers for devices I don't
  1702.       have myself - it takes too much time and energy, even when
  1703.       someone owning such a device offers to run test kernels. Thus,
  1704.       if you want to see a working driver for your hardware, you
  1705.       really need to start hacking yourself.</para>
  1706.  
  1707.     <para>This is a list of jobs that are up for grabs. If you want
  1708.       to do it and you think it will take more than a couple of
  1709.       days, please let me know so I can mark it to prevent
  1710.       duplicated efforts.</para>
  1711.  
  1712.     <itemizedlist>
  1713.       <listitem><para> (<emphasis>free</emphasis>) If the &ados; ROM
  1714.           is shadowed, it will eat 512kB RAM. It
  1715.           <emphasis>might</emphasis> be possible to disable this
  1716.           shadow mapping, but I don't feel like hacking on it myself
  1717.           - it can be disabled manually in the Early Startup
  1718.           Menu.</para>
  1719.       </listitem>
  1720.       <listitem><para> (<emphasis>free</emphasis>) &cpu603; support
  1721.           is not as good as it should be. In
  1722.           <filename>arch/ppc/kernel/head.S</filename> and
  1723.           <filename>arch/ppc/mm/init.c</filename> the flag
  1724.           <symbol>NO_RELOAD_HTAB</symbol> should be set but this
  1725.           causes the kernel to hang at the moment. Probably some
  1726.           tophys/tovirt oversigt in
  1727.           <filename>head.S</filename>. </para>
  1728.       </listitem>
  1729.       <listitem><para> (<emphasis> Roman Zippel</emphasis>)
  1730.           Merging the &amiboot; changes. We need someone to
  1731.           maintain the &amiboot; program as Geert Uytterhoeven
  1732.           does not have the time anymore. Presently I have put the
  1733.           &linapus; required changes in <xref
  1734.         linkend="sd-boothack">.</para>
  1735.  
  1736.       </listitem>
  1737.       <listitem><para> (<emphasis>free</emphasis>) A4000T/A4091 SCSI
  1738.           drivers require the kernel to be compiled using segment
  1739.           registers for memory mapping.</para>
  1740.  
  1741.         <para>Page translations are cached in on-chip translation
  1742.           lookaside buffers (TLBs). When a memory access is
  1743.           attempted and the page information is not found in the
  1744.           TLBs, a table lookup from main memory is required.</para>
  1745.  
  1746.         <para> When the kernel is mapped with BATs, execution of
  1747.           kernel code does not require looking up information about
  1748.           individual pages as the entire kernel memory space is
  1749.           mapped in one chunk.</para>
  1750.  
  1751.         <para> As the kernel memory space used to hold the NCR53c7xx
  1752.           SCSI scripts needs to be mapped as write-through rather
  1753.           than write-back, per-page cache control is required. The
  1754.           current kernel memory system does not mix BAT mappings
  1755.           with segment register mappings, so kernels compiled after
  1756.           980820 have to use segment register mappings only to
  1757.           ensure that A4091/A4000T drivers work correctly.</para>
  1758.  
  1759.         <para>Two things can be done about this; in the short term,
  1760.           users who don't use the affected SCSI drivers can rebuild
  1761.           the kernel using BATs for memory mapping (undef
  1762.           <option>MAP_RAM_WITH_SEGREGS</option> in
  1763.           <filename>arch/ppc/mm/init.c</filename>).</para>
  1764.  
  1765.         <para> A proper long term solution for all users is kernel
  1766.           support for a mixed mapping strategy. Either by mapping
  1767.           the end of kernel space with segment registers and having
  1768.           a special allocator to deal with it, or by re-mapping the
  1769.           required pages with segment registers. The latter strategy
  1770.           is in my opinion better as any overhead will only affect
  1771.           the pages used for the SCSI driver scripts. Unfortunately
  1772.           it will require (minor) driver changes. The former will
  1773.           affect the entire region of memory mapped with segment
  1774.           registers (which will be 1/4 of the available memory -
  1775.           8-16MB on most systems).</para>
  1776.  
  1777.         <para>I would like to work on this after the machine
  1778.           dependencies have been cleaned up in &linux; 2.3, but I
  1779.           see no reason to spend energy on it in the immediate
  1780.           future (since the drivers are working and users without
  1781.           the SCSI controllers can rebuild a kernel with BAT
  1782.           mappings).</para>
  1783.       </listitem>
  1784.     </itemizedlist>
  1785.  
  1786.     <para>Other issues:</para>
  1787.  
  1788.     <itemizedlist>
  1789.       <listitem><para><emphasis>Complete driver for the &cybppc;
  1790.         onboard wide SCSI controller.</emphasis></para>
  1791.  
  1792.         <para>Jes Sørensen is working on this.</para>
  1793.       </listitem>
  1794.  
  1795.       <listitem><para><emphasis>Complete integration in the &linppc;
  1796.         source tree.</emphasis></para> 
  1797.  
  1798.         <para>Recompiling a &linapus; kernel will require special
  1799.           patches for a long time to come. &linapus; relies on files
  1800.           from both the <filename
  1801.         class=directory>arch/m68k</filename> and <filename
  1802.         class=directory>arch/ppc</filename> directories which
  1803.           makes a clean merge with the main source tree problematic
  1804.           at best. There is hope though; since &linapus; is not the
  1805.           only port with this problem (sparc/ultrasparc,
  1806.           mac/powermac) there has been discussions of introducing a
  1807.           new "mach" hierarchy where sources specific to a given
  1808.           machine (such as the &amiga;) can reside.</para>
  1809.  
  1810.         <para> I will continue upgrading the patches to the latest
  1811.           release kernels and work on integrating changes in both
  1812.           <filename class=directory>arch/m68k</filename> and
  1813.           <filename class=directory>ppc/arch</filename>.  Jes will
  1814.           probably be doing a lot of editing when it gets to the
  1815.           time of implementing the mach hierarchy.</para>
  1816.       </listitem>
  1817.  
  1818.       <listitem><para><emphasis>Completing the LILO
  1819.         port.</emphasis></para>
  1820.  
  1821.         <para>Roman Zippel is working on LILO support for
  1822.           &linapus;.</para>
  1823.       </listitem>
  1824.     </itemizedlist>
  1825.  
  1826.       </sect1>
  1827.  
  1828.       <sect1><title>To Do - &thisdoc;</title>
  1829.  
  1830.     <para> There have been a few suggestions for improving
  1831.       &thisdoc; which require more time than I have at the moment -
  1832.       or I simply don't think it's worth the effort.</para>
  1833.  
  1834.     <para> If you want to write a section please do so in
  1835.       SGML (have a look in <filename>faq.sgml</filename> to get an
  1836.       idea of what is required). If you can't be bothered to do
  1837.       that, just send plain text and I will set it up in
  1838.       SGML. <emphasis>Do not send me HTML!</emphasis></para>
  1839.  
  1840.     <para> Again, if you think writing a section will
  1841.       stretch over a couple of days, please let me know so I can
  1842.       fill in your name and prevent wasted effort.</para>
  1843.  
  1844.     <itemizedlist>
  1845.       <listitem><para> (<emphasis>free</emphasis>)  A
  1846.           section with boothack example configurations. (suggested
  1847.           by Christophe Decanini)</para>
  1848.       </listitem>
  1849.       <listitem><para> (<emphasis>free</emphasis>)  A
  1850.           section with example memory files - I already put in the
  1851.           section but it's empty as no one returned my request for
  1852.           configurations... These might come in handy again since
  1853.           the kernel will eventually support both BAT and SEG mapped
  1854.           memory (since BATs are more efficient).</para>
  1855.  
  1856.         <para> This section should also describe how the
  1857.           memory system works on APUS (shadow mapping, missing
  1858.           512KB, etc) - this should make it clear why memory files
  1859.           are (well, have) been required. Also how to properly
  1860.           calculate the values of a memory file.</para>
  1861.       </listitem>
  1862.     </itemizedlist>
  1863.       </sect1>
  1864.  
  1865.     </chapter>
  1866.     <chapter id="help"><title>Reporting Problems/Getting Help</title>
  1867.  
  1868.       <para>There are three "official" ways of reporting problems and
  1869.     getting help. There may exist other news groups or mailing lists
  1870.     dedicated to &cybppc;, &blzppc; and/or &linux;(/APUS) than the
  1871.     ones described in this section. Don't expect any of the
  1872.     developers to read those - reporting problems by any other media
  1873.     than those described in this section is just as likely to be
  1874.     successful as reporting them to your mother (my apologies to any
  1875.     &linapus; hacking mothers out there :)</para>
  1876.  
  1877.       <para>Before reporting a problem, please read the section about
  1878.     etiquette!</para>
  1879.  
  1880.       <sect1 id="etiquette"><title>Etiquette</title>
  1881.  
  1882.     <para>Mention that you run &linapus; if you are posting a
  1883.       generic &linux; question to the news group. Your problem may
  1884.       be &linapus; specific and you will help other readers realize
  1885.       that if you properly identify the &linux; port you are using.</para>
  1886.  
  1887.     <para>To help others help yourself, always include as much
  1888.       information about the problem as possible. See <xref
  1889.         linkend="debug">.</para>
  1890.  
  1891.     <para>Keep your postings in a positive and friendly tone and
  1892.       don't expect the problem to be fixed right away. What is
  1893.       likely to happen is that someone will suggest solutions to
  1894.       your problem: you may be asked to try things you have already
  1895.       attempted (but didn't mention - be very informative!), you may
  1896.       be asked to test special versions of the kernel or the
  1897.       application. It's not guaranteed that your problem will be
  1898.       solved, but with a bit of luck it will be. Above all, be
  1899.       patient, understanding and positive - the developers may be
  1900.       working on other things, helping others with their problems,
  1901.       trying hard to have a life, or simply be clueless about the
  1902.       nature of your problem.</para>
  1903.  
  1904.     <para>Do not send questions like "I cannot boot &linux; on my
  1905.       &amiga;. What's wrong?". You cannot expect anyone to answer
  1906.       such postings, especially because there's no way anyone can be
  1907.       helpful without first making enquiries about your system -
  1908.       save yourself and others the inconvenience: supply as much
  1909.       information as possible.</para>
  1910.  
  1911.     <para>Please don't spam the kernel list or the news group with
  1912.       stories about how poor you think the &linapus; support is, or
  1913.       how the developers lack dedication. The only thing you get out
  1914.       of this is a bad reputation - it doesn't make it easier for us
  1915.       to support devices we don't have.</para>
  1916.  
  1917.     <para>The same goes for failing applications and/or generic
  1918.       kernel problems; if none of the developers are using a
  1919.       particular feature of the kernel or application it is hard to
  1920.       ensure that it is working properly. Again, it's your
  1921.       responsibility to help.</para>
  1922.  
  1923.     <para> Please read existing documentation before
  1924.       posting questions. Even though some helpful person will
  1925.       probably answer a frequently asked question, it's impolite
  1926.       (<emphasis>on your part</emphasis>) to expect others to
  1927.       spend time helping you when you cannot be bothered to take
  1928.       the help people have already offered you in form of FAQs,
  1929.       manuals and previously answered questions. Start by looking
  1930.       in the directory <filename
  1931.         class=directory>/usr/doc/HOWTO</filename> on a &rh; machine
  1932.       which may contain the answers you are looking
  1933.       for. <emphasis>If possible, it's always a good idea to
  1934.         search news group and kernel list archives for a solution to
  1935.         your problem. See the links page (<xref
  1936.           linkend="links">).</emphasis></para>
  1937.  
  1938.       </sect1>
  1939.       <sect1><title>The Usenet News Group</title>
  1940.  
  1941.     <para>The Usenet News Group <ulink
  1942.         url="news:comp.os.linux.m68k">comp.os.linux.m68k</ulink> is
  1943.       read by many &amiga; users who use &linux;. It's a good
  1944.       place to ask if you have simple questions about &linux; that
  1945.       are specific to the &amiga; (see below for &linapus;
  1946.       questions).</para>
  1947.  
  1948.     <para>You can also ask more generic questions about the use of
  1949.       &linux; even though you would probably be better off posting
  1950.       to groups with more traffic and readers. Remember, &linux; is
  1951.       available on many platforms - an application problem you have
  1952.       is likely also to be a problem for, say, an ix86 (Intel)
  1953.       user.</para>
  1954.  
  1955.     <para>And there are <emphasis>tons</emphasis> of help to be
  1956.       found in FAQs, HOWTOs and general &linux; documentation (see
  1957.       <xref linkend="links">). If you are new to &linux; you might
  1958.         even consider buying a book about &linux; usage - this is one
  1959.         of the things that sets &linux; apart from &ados;; there are
  1960.         so many users that there's commercial interest in supporting
  1961.         it (with books and hot-line help).</para>
  1962.  
  1963.       </sect1>
  1964.       <sect1><title>The &linapus; Kernel List</title>
  1965.  
  1966.     <para>If you have a problem that is specific to the &linapus;
  1967.       installation, use of specific &linapus; packages, or if you
  1968.       think you have found a problem with the &linapus; kernel
  1969.       (i.e., a driver problem or a generic kernel problem), you
  1970.       should mail to the &linapus; kernel mailing list.</para>
  1971.  
  1972.     <para>You should describe how to repeat the problem. It's very
  1973.       hard to debug something that cannot be seen. Some problems are
  1974.       periodic or occur at random times in different applications,
  1975.       which is not easy to repeat. In this case, include whatever
  1976.       information you have in the posting.</para>
  1977.  
  1978.     <para>You can follow the traffic on the kernel list via the news
  1979.       gateway at <ulink
  1980.         url="news://sunsite.auc.dk/sunsite.linux.apus">
  1981.         news://sunsite.auc.dk/sunsite.linux.apus</ulink>. It's fast
  1982.       and your mail box is not overburdened. You can also join the
  1983.       list (send mail to <ulink
  1984.         url="mailto:linux-apus-help@sunsite.auc.dk">
  1985.         linux-apus-help@sunsite.auc.dk</ulink>).</para>
  1986.  
  1987.     <para>You can post to the list at the address <ulink
  1988.         url="mailto:linux-apus@sunsite.auc.dk">
  1989.         linux-apus@sunsite.auc.dk</ulink>.</para>
  1990.  
  1991.       </sect1>
  1992.       <sect1><title>The &linapus; <emphasis>FAQ Contribution</emphasis>
  1993.       Email Address</title>
  1994.  
  1995.     <para>This is <emphasis>not</emphasis> the place to ask for
  1996.       help. This address's usage should be restricted to sending the
  1997.       maintainer FAQ submissions. Everything else should be posted
  1998.       to the kernel list which has a wider audience.</para>
  1999.  
  2000.     <para>At the &linm68k; domain &linapus; has kindly been given an
  2001.       email alias <ulink
  2002.         url="mailto:apus@linux-m68k.org">apus@linux-m68k.org</ulink>. This
  2003.       will forward mails to whoever is maintaining &thisdoc; (at the
  2004.       moment me, Jesper Skov).</para>
  2005.  
  2006.       </sect1>
  2007.     </chapter>
  2008.     <chapter id="chap-faq"><title>Frequently Asked Questions</title>
  2009.  
  2010.       <para>In this chapter you will find a list of frequently asked
  2011.     questions. If you don't find the answer to your question, please
  2012.     read <xref linkend="help">.</para>
  2013.  
  2014.       <orderedlist>
  2015.     <listitem><para><emphasis>How come my questions are not
  2016.           answered?</emphasis></para>
  2017.  
  2018.       <para> Perhaps nobody knows the answer, or the question is not
  2019.         directly related to &linapus;. If the same problem is
  2020.         reproducible under &linm68k; you would be better of asking
  2021.         in a &linm68k; forum. If you don't experience the problem
  2022.         under &linm68k; it is likely to be &linapus; specific; please
  2023.         include this information when you post to the &linapus;
  2024.         kernel list. Even though this doesn't improve the chances of
  2025.         getting the problem fixed, the problem can be mentioned in
  2026.         &thisdoc; so others will be aware of it.</para>
  2027.  
  2028.       <para>Your question could already be answered somewhere in
  2029.         &thisdoc; and nobody can be bothered to tell you this. Help
  2030.         yourself; read the entire document - it is not that big. It
  2031.         is also a good idea to search for the answer to your
  2032.         question in the &linapus; kernel list archive.</para>
  2033.  
  2034.       <para> If you find answers to your questions in unexpected
  2035.         parts of this document or in the kernel list archive, please
  2036.         let me know so I can update &thisdoc; for the benefit of the
  2037.         next user with the same problem.</para>
  2038.     </listitem>
  2039.  
  2040.     <listitem><para><emphasis>Are there any &ados;
  2041.           requirements?</emphasis></para> 
  2042.  
  2043.       <para> Yes. Even though the &linux; kernel in itself does not
  2044.         use &ados;, booting the kernel relies on &p5;'s &cpuppc;
  2045.         micro kernel.</para>
  2046.     </listitem>
  2047.  
  2048.     <listitem><para><emphasis>Is &linapus; binary compatible with
  2049.           the other &cpuppc; &linux; ports?</emphasis></para> 
  2050.  
  2051.       <para> Yes. You can (AFAIK) use most software packages
  2052.         precompiled for &linppc;. Some noteworthy exceptions are:
  2053.         the X server (see below) and &amiga; or &linapus; specific
  2054.         tools which you are not likely to find available from normal
  2055.         &linppc; sites.</para>
  2056.     </listitem>
  2057.  
  2058.     <listitem><para><emphasis>How come not all &linm68k; supported
  2059.           devices can be selected when
  2060.           configuring?</emphasis></para>
  2061.  
  2062.       <para> Because &linux; configuring at the moment is
  2063.         architecture dependent. You have to move items from
  2064.         <filename>arch/m68k/config.in</filename> into
  2065.         <filename>arch/ppc/config.in</filename> or (even better)
  2066.         into the <filename>Config.in</filename> in a driver
  2067.         directory. If you do, please post the diff on the kernel
  2068.         list.</para>
  2069.     </listitem>
  2070.  
  2071.     <listitem><para><emphasis>Are &cybppc; developer boards
  2072.           supported?</emphasis></para>
  2073.  
  2074.       <para> Not at the moment - and they are not likely to be
  2075.         supported any time soon; moving the &cpum68k; CPU from one
  2076.         board to another is hell and I <emphasis>hate</emphasis>
  2077.         fiddling with the guts of my box. But if you have such a
  2078.         beast, by all means, start porting - I can give you some
  2079.         pointers.</para>
  2080.     </listitem>
  2081.  
  2082.     <listitem><para><emphasis>Is Netscape available?</emphasis></para>
  2083.  
  2084.       <para> Yes. And it's even working (according to Jens Kristian
  2085.         Jensen).</para>
  2086.     </listitem>
  2087.  
  2088.     <listitem><para><emphasis>Is the &cpum68k; CPU used for
  2089.           anything?</emphasis></para>
  2090.  
  2091.       <para> No. It is put to sleep (stop #2700) during boot. This
  2092.         may change sometime in the future. I guess it could be used
  2093.         as a gfx coprocessor, for clearing empty pages, or even for
  2094.         running native &cpum68k; programs under special conditions
  2095.         (like AROS).</para>
  2096.     </listitem>
  2097.  
  2098.     <listitem><para><emphasis>Will it ever be possible to use a
  2099.           mixed set of &cpum68k; and &cpuppc;
  2100.           executables?</emphasis></para>
  2101.  
  2102.       <para> Not likely. This would require a shared memory
  2103.         mapping. However, nothing is impossible - you go ahead!</para>
  2104.     </listitem>
  2105.  
  2106.     <listitem><para><emphasis>I can't boot from the ram disk with
  2107.           2.1.90 kernels!?!</emphasis></para>
  2108.  
  2109.       <para> There's some problem with identifying MINIX headers in
  2110.         2.1.90. Use gzip to compress the ram disk and it will
  2111.         work.</para>
  2112.     </listitem>
  2113.  
  2114.     <listitem><para><emphasis>Does &linapus; support kernel
  2115.           debugging with &gdb;?</emphasis></para>
  2116.  
  2117.       <para> The kernel <emphasis>diff</emphasis> contains the
  2118.         necessary stubs and config flag
  2119.         (<symbol>CONFIG_KGDB</symbol>) to do this (originally for
  2120.         PMAC, written by Mike Tesch). A debug kernel is around 10MB
  2121.         though so I will not upload a precompiled kernel with
  2122.         debugging.  I have still not tested this so your mileage may
  2123.         vary.</para>
  2124.     </listitem>
  2125.  
  2126.     <listitem><para><emphasis>When I recompile the kernel using your
  2127.           patches, I get disk failures and runtime
  2128.           errors!?!</emphasis></para> 
  2129.  
  2130.       <para> Use binutils-2.9.1 and egcs-1.1. Get the 980525
  2131.         kernel sources or newer and you should be OK.</para>
  2132.     </listitem>
  2133.  
  2134.     <listitem><para><emphasis>Why not use LPSTOP to halt the
  2135.           CPU on &cpu060; systems?</emphasis></para>
  2136.  
  2137.       <para> It hangs the system. Possibly because the &cybppc; bus
  2138.         design cannot cope with the signals the &cpu060; sends out
  2139.         before powering down.</para>
  2140.     </listitem>
  2141.  
  2142.     <listitem><para><emphasis>I cannot mount all my
  2143.           partitions. There are not enough dev nodes in the ram
  2144.           disk!?!</emphasis></para>
  2145.  
  2146.       <para> I have put <application>mknod</application> compiled
  2147.         for &cpuppc; in <xref linkend="sd-misc">. Put it on an
  2148.           &ados; partition you can mount, boot the kernel, mount the
  2149.           &ados; partition, use <application>mknod</application> to
  2150.           make new nodes.</para>
  2151.     </listitem>
  2152.  
  2153.     <listitem><para><emphasis>My system just hangs when I start
  2154.         &boothack;!??</emphasis></para>
  2155.  
  2156.       <para> It might be a problem with &boothack;. Try rebooting
  2157.         the machine and run the tool
  2158.         <application>bootmesg</application>. It should find a
  2159.         progress string from the booter. This string is deleted by
  2160.         the kernel if it boots, so if the string is not found, it's
  2161.         probably a kernel problem (and you should use
  2162.         <option>debug=mem</option> and &dmesg; instead).</para>
  2163.  
  2164.       <para> The last character stored before jumping to the kernel
  2165.         is 'K'. If you see a string, and the last letter is not 'K',
  2166.         you can look in the <filename>ppc_boot.c</filename> code to
  2167.         get an idea of where things go wrong. Please also report
  2168.         your findings.</para>
  2169.  
  2170.       <para> Another thing that is likely to cause this problem is
  2171.         memory. See <xref linkend="booting"> for some more
  2172.           information on this point.</para>
  2173.  
  2174.       <para> Yet another common cause is wrong video mode
  2175.         parameters. <option>'vga'</option> has caused problems,
  2176.         while specifying none (if your monitor can handle it)
  2177.         definitely works.  If you have a CyberVision you have to let
  2178.         it be initialized by CyberGfx before you boot.</para>
  2179.  
  2180.       <para> You must also disable Shadow ROM in the &cybppc; or
  2181.         &blzppc; Early Startup Menu and set the memory speed to
  2182.         70ns.</para>
  2183.  
  2184.       <para> Finally, make sure to put &boothack;
  2185.         options (starts with a dash (-)) first on the line and
  2186.         kernel options (no dash) last on the line when booting the
  2187.         kernel.</para>
  2188.     </listitem>
  2189.  
  2190.     <listitem><para><emphasis>Can I boot from a soft kicked
  2191.           system?</emphasis></para>
  2192.  
  2193.       <para> Possibly. You might be able to make it
  2194.         work. Do try it. If it doesn't work you have to disable
  2195.         the soft kicked ROM. You might also try booting your
  2196.         machine without <filename>startup-sequence</filename>, run
  2197.         <application>setpatch</application> and then start
  2198.         &linapus; (unless you have a CyberVision in which case you
  2199.         must let CyberGfx initialize it first).</para>
  2200.     </listitem>
  2201.  
  2202.     <listitem><para><emphasis>Can I compile my own kernels under
  2203.           &linapus;?</emphasis></para>
  2204.  
  2205.       <para> Yes. I have successfully run a kernel I build with
  2206.         binutils-2.9.1 and egcs-1.1 on my &linapus; box. However,
  2207.         YMMV.</para>
  2208.     </listitem>
  2209.  
  2210.     <listitem><para><emphasis>I get rejects when applying your
  2211.           patch!!??</emphasis></para>
  2212.  
  2213.       <para> My patches are relative to the
  2214.         <emphasis>release</emphasis> versions of the &linm68k;
  2215.         kernel sources (not Linus' kernel sources!). If you apply
  2216.         &linm68k; patches from the &linm68k; kernel list before you
  2217.         apply my patches, you may get conflicts.</para>
  2218.     </listitem>
  2219.  
  2220.     <listitem><para><emphasis>I cannot boot &linapus; on my
  2221.           &blzppc;!!?</emphasis></para>
  2222.  
  2223.       <para><emphasis>Hint from Sinan Gurkan</emphasis></para>
  2224.  
  2225.       <para> The later firmware versions make the
  2226.         hardware identify itself as if it had a SCSI controller -
  2227.         even the boards with no SCSI controller! Until the problem
  2228.         gets properly fixed, you can press <keycap>s</keycap>
  2229.         during boot to disable the (non-existing) SCSI hardware
  2230.         :)</para>
  2231.     </listitem>
  2232.  
  2233.     <listitem><para> <emphasis>How do I boot with AGA
  2234.           display on a machine with
  2235.           CyberVision(/3D)?</emphasis></para>
  2236.       
  2237.       <para>You need to disable the frame buffer device assigned to
  2238.         the graphics card by adding (one of) the below to the boot
  2239.         options.</para>
  2240.  
  2241.       <screen>
  2242.  
  2243.         video=cyber:off
  2244.         video=virge:off</screen>
  2245.     </listitem>
  2246.  
  2247.  
  2248.     <listitem><para> <emphasis> How do I change the
  2249.           default keymap?</emphasis></para>
  2250.  
  2251.       <para><emphasis>Text by Marco De Vitis</emphasis></para>
  2252.       
  2253.       <para> Let's assume you already have a keymap file
  2254.         that suits your system,
  2255.         e.g. <filename>amiga-it.map</filename> for an Italian
  2256.         Amiga keyboard (you can find many keymap files at
  2257.         <ulink
  2258.           url="ftp://ftp.uni-erlangen.de/pub/Linux/680x0/bin/system/keymaps/">
  2259.           ftp.uni-erlangen.de/pub/Linux/680x0/bin/system/keymaps/</ulink>).
  2260.         Put this file in the <filename
  2261.           class="directory">/usr/lib/kbd/keytables</filename>
  2262.         directory. You should now be able to load it by issuing
  2263.         this command:</para>
  2264.  
  2265.       <screen>
  2266.  
  2267.         loadkeys amiga-it.map  </screen>
  2268.  
  2269.       <para> To have it loaded during boot (on &rhppc;),
  2270.         you have to edit the
  2271.         <filename>/etc/sysconfig/keyboard</filename> file so that
  2272.         it contains the full path to your keymap; by default, it
  2273.         should read something like
  2274.         "/usr/lib/kbd/keytables/amiga-us.map", so you usually only
  2275.         need to change the ending.</para>
  2276.     </listitem>
  2277.  
  2278.     <listitem><para> <emphasis> How come the sound
  2279.           driver is not included in the prebuilt
  2280.           kernels?</emphasis></para>
  2281.  
  2282.       <para> Because it doesn't like the heartbeat
  2283.         (which affects the filter when blinking the
  2284.         led). Heartbeat is important for determining if &linapus;
  2285.         has properly booted even if the display is blank, i.e.,
  2286.         it is relevant in a kernel that a novice will boot
  2287.         for the first time. And it means I don't have to switch
  2288.         display each time I boot a kernel ;)</para>
  2289.  
  2290.       <para> If you worry about sound support, it means
  2291.         you have a stable system -- and that means that you should
  2292.         be able to rebuild the kernel yourself.</para>
  2293.     </listitem>
  2294.     
  2295.     <listitem><para> <emphasis> Why can't the mailing
  2296.           list...?</emphasis></para>
  2297.  
  2298.       <para> It's not by accident that the list server
  2299.         is set up as it is -- this is the way the guys in power
  2300.         like it :)  See below for some workarounds.</para>
  2301.  
  2302.       <para> SUBJECT LINE: If you want [APUS] or similar
  2303.         in the subject line, it's probably because you want to
  2304.         sort/filter your mail by subject. In that case, your
  2305.         mailer should be able to sort/filter by any other header
  2306.         line. A good one is:</para>
  2307.  
  2308.       <screen>
  2309.  
  2310.         Mailing-List: contact linux-apus-help@sunsite.auc.dk; run by ezmlm  </screen>
  2311.  
  2312.       <para> REPLY-TO: Yes, you 'reply' to the author of
  2313.         the article. We are all real living people -- if you want
  2314.         to reply to something it's because you want to say
  2315.         something to the dude at the other end of the damp string,
  2316.         no? :) Polite people mostly CC: the list so others can
  2317.         benefit from the reply as well. So, use 'followup' instead
  2318.         of 'reply'.  Yes, the receiver gets two copies; that is
  2319.         The-Way-It-Should-Be(TM).</para>
  2320.     </listitem>
  2321.  
  2322.       </orderedlist>
  2323.  
  2324.     </chapter>
  2325.     <chapter id="history"><title>History</title>
  2326.  
  2327.       <para>I like to follow the progress of the stuff I use, so I
  2328.     decided to keep track of &linapus; changes so others with the
  2329.     same interest can get an idea of what's happening.</para>
  2330.  
  2331.       <para>I also try to keep a source code <ulink
  2332.     url="ChangeLog.APUS">ChangeLog</ulink> for the &linapus;
  2333.     changes which is available from <xref
  2334.     linkend="sd-docs">.</para>
  2335.  
  2336.       <para>
  2337.  
  2338.     <emphasis>date990322 990322</emphasis>
  2339.     <itemizedlist>
  2340.       <listitem><para>Added mb() fix for A2091 driver from
  2341.           Jes.</para>
  2342.       </listitem>
  2343.     </itemizedlist>
  2344.  
  2345.     <emphasis>date990321 990321</emphasis>
  2346.     <itemizedlist>
  2347.       <listitem><para>Added yet another info item for GPM, this
  2348.           time from Gerard Cornu.</para>
  2349.       </listitem>
  2350.       <listitem><para>ChangeLog now available from this
  2351.           document. Incremental change logs included in the
  2352.           <filename>linux-apus-YYMMDD.diff</filename> diffs as a
  2353.           comment.</para>
  2354.       </listitem>
  2355.     </itemizedlist>
  2356.  
  2357.     <emphasis> 990301</emphasis>
  2358.     <itemizedlist>
  2359.       <listitem><para>Ken Tyler sends me a virge blitter fix as a
  2360.           birthday present ;)</para></listitem>
  2361.     </itemizedlist>
  2362.  
  2363.     <emphasis> 990221</emphasis>
  2364.     <itemizedlist>
  2365.       <listitem><para>Arno Griffioen takes matters in his own
  2366.           hands and fixes DMA on the A3000 SCSI controller
  2367.           :)</para>
  2368.       </listitem>
  2369.       <listitem><para>I added the same DMA patches to the A2091
  2370.           and GVP11 drivers.</para>
  2371.       </listitem>
  2372.     </itemizedlist>
  2373.  
  2374.     <emphasis> 990220</emphasis>
  2375.     <itemizedlist>
  2376.       <listitem><para>Updated to &linm68k; 2.2.1pre2.</para>
  2377.       </listitem>
  2378.       <listitem><para>Cleaned up serial driver and GDB support.</para>
  2379.       </listitem>
  2380.     </itemizedlist>
  2381.  
  2382.     <emphasis> 990214</emphasis>
  2383.     <itemizedlist>
  2384.       <listitem><para>Added <application>gpm</application> note
  2385.           from Robert Ramiega.</para></listitem>
  2386.     </itemizedlist>
  2387.  
  2388.     <emphasis> 990206</emphasis>
  2389.     <itemizedlist>
  2390.       <listitem><para>Updated to &linm68k; 2.2.1pre1.</para>
  2391.       </listitem>
  2392.       <listitem><para>Removed parallel/printer drivers. The new
  2393.           driver scheme seems to hang the kernel and I don't have
  2394.           the time to track it down now.</para>
  2395.       </listitem>
  2396.     </itemizedlist>
  2397.  
  2398.     <emphasis> 990203</emphasis>
  2399.     <itemizedlist>
  2400.       <listitem><para>Updated &thisdoc; to compile with DocBook
  2401.           3.0</para></listitem>
  2402.     </itemizedlist>
  2403.  
  2404.     <emphasis> 990201</emphasis>
  2405.     <itemizedlist>
  2406.       <listitem><para>Debian install help updated (Michel
  2407.           Dänzer)</para>
  2408.       </listitem>
  2409.       <listitem><para>Added Virge Z2 support from (Christian
  2410.           T. Steigies).</para>
  2411.       </listitem>
  2412.     </itemizedlist>
  2413.  
  2414.     <emphasis> 990131</emphasis>
  2415.     <itemizedlist>
  2416.       <listitem><para>NO_RELOAD_TAB fix from Michel Dänzer.</para>
  2417.       </listitem>
  2418.       <listitem><para>Cleaned up APUS: output during boot.</para>
  2419.       </listitem>
  2420.     </itemizedlist>
  2421.  
  2422.     <emphasis>990129</emphasis>
  2423.     <itemizedlist>
  2424.       <listitem><para>Virge update from Ken Tyler.</para>
  2425.       </listitem>
  2426.       <listitem><para>Other video updates from Geert Uytterhoeven.</para>
  2427.       </listitem>
  2428.     </itemizedlist>
  2429.  
  2430.     <emphasis> 990123</emphasis>
  2431.     <itemizedlist>
  2432.       <listitem><para>Module fix from Andreas Schwab.</para>
  2433.       </listitem>
  2434.       <listitem><para>Menuconfig and module fix from Michel
  2435.           Dänzer).</para>
  2436.       </listitem>
  2437.       <listitem><para>Rewrote part of the interrupt handling. Lvl7
  2438.           interrupts cannot be avoided, but they are now treated
  2439.           as the bogus Lvl0 interrupts.</para>
  2440.       </listitem>
  2441.     </itemizedlist>
  2442.  
  2443.     <emphasis> 990118</emphasis>
  2444.     <itemizedlist>
  2445.       <listitem><para>Updated to &linm68k; 2.2.0pre7.</para>
  2446.       </listitem>
  2447.       <listitem><para>Replaced the obsolete cvppc driver with the
  2448.           pm2 driver (Ilario Nardinocchi).</para>
  2449.       </listitem>
  2450.       <listitem><para>Fix BlizzardPPC SCSI's dependencies (Michel
  2451.           Dänzer).</para>
  2452.       </listitem>
  2453.       <listitem><para>Replaced iobarrier() with mb().</para>
  2454.       </listitem>
  2455.     </itemizedlist>
  2456.  
  2457.     <emphasis> 990113</emphasis>
  2458.     <itemizedlist>
  2459.       <listitem><para>Added fix for building lp as module
  2460.           from Frank Petzold.</para>
  2461.       </listitem>
  2462.       <listitem><para>Removed FastLane from list of working
  2463.           hardware and from the precompiled kernels.</para>
  2464.       </listitem>
  2465.     </itemizedlist>
  2466.  
  2467.     <emphasis>990112</emphasis>
  2468.     <itemizedlist>
  2469.       <listitem><para>Added &debian; installation section by
  2470.           Michel Dänzer.</para>
  2471.       </listitem>
  2472.     </itemizedlist>
  2473.  
  2474.     <emphasis> 990111</emphasis>
  2475.     <itemizedlist>
  2476.       <listitem><para>Updated to &linm68k; 2.2.0pre6. There might
  2477.           be problems with memory mapping devices. If you
  2478.           experience problems, try using the nobats option.</para>
  2479.       </listitem>
  2480.     </itemizedlist>
  2481.  
  2482.     <emphasis> 990106</emphasis>
  2483.     <itemizedlist>
  2484.       <listitem><para>Added PowerUp PCI Bridge detection to
  2485.           boothack. Contributed by Ralph Schmidt.</para>
  2486.       </listitem>
  2487.     </itemizedlist>
  2488.  
  2489.     <emphasis> 990105</emphasis>
  2490.     <itemizedlist>
  2491.       <listitem><para>Updated to &linm68k; 2.2.0pre4. Light my
  2492.           fire, baby! It's smoooking fast :@) &x; starts in no
  2493.           time now... I need to get this kernel installed on
  2494.           Concubine!</para>
  2495.       </listitem>
  2496.       <listitem><para>Changed installer directory structure on
  2497.           &sunsite; in preparation for proper support of &debian;
  2498.           installation schemes.</para>
  2499.       </listitem>
  2500.       <listitem><para>Martin Koenig sez the Ariadne II driver is
  2501.           working (somewhat slow though).</para>
  2502.       </listitem>
  2503.       <listitem><para>Carlos Mayo sez the SurfSquirrel is working.
  2504.           (PCMCIA card, right?).</para>
  2505.       </listitem>
  2506.       <listitem><para>Updated &thisdoc; here and there. If I
  2507.           missed anything during the past couple of weeks, please
  2508.           let me know.</para></listitem>
  2509.     </itemizedlist>
  2510.  
  2511.     <emphasis> 981216</emphasis>
  2512.     <itemizedlist>
  2513.       <listitem><para>Updated to &linm68k; 2.1.131.</para>
  2514.       </listitem>
  2515.     </itemizedlist>
  2516.  
  2517.     <emphasis> 981213</emphasis>
  2518.     <itemizedlist>
  2519.       <listitem><para>Added patch from Richard Hirst to fix CDROM
  2520.           mount problem on A4000T/A4091 SCSI.</para>
  2521.       </listitem>
  2522.       <listitem><para>Changed CONFIG_PPC in sound driver to
  2523.           CONFIG_PMAC. I'd like to know if it solves the
  2524.           problems.</para>
  2525.       </listitem>
  2526.     </itemizedlist>
  2527.  
  2528.     <emphasis> 981129</emphasis>
  2529.     <itemizedlist>
  2530.       <listitem><para>Added a handful of patches from Chris
  2531.           Lawrence.</para>
  2532.       </listitem>
  2533.     </itemizedlist>
  2534.  
  2535.     <emphasis> 981127</emphasis>
  2536.     <itemizedlist>
  2537.       <listitem><para>Updated to 2.1.130</para>
  2538.       </listitem>
  2539.       <listitem><para>Fixed off-by-1 error in reloc code. This is
  2540.           what stopped some people from running the later kernels,
  2541.           I'm sure.</para>
  2542.       </listitem>
  2543.       <listitem><para>Added a (good) handful of iobarriers to the
  2544.           MFC serial driver. It might have fixed the reported
  2545.           problem.</para>
  2546.       </listitem>
  2547.     </itemizedlist>
  2548.  
  2549.     <emphasis> 981126</emphasis>
  2550.     <itemizedlist>
  2551.       <listitem><para>The <filename
  2552.         class="directory">latest</filename> directory now
  2553.           contains files (not links) with dated names to prevent
  2554.           confusion in the future. If people try to download
  2555.           using a cached and obsolete name, they should get an
  2556.           error.</para>
  2557.       </listitem>
  2558.       <listitem><para>Reintroduced the <filename>head.S</filename>
  2559.           progress values.</para>
  2560.       </listitem>
  2561.     </itemizedlist>
  2562.  
  2563.     <emphasis> 981125</emphasis>
  2564.     <itemizedlist>
  2565.       <listitem><para>Included Whippet driver. I got a patch from
  2566.           Carlos Mayo some time ago, but it was already included
  2567.           in 2.1.127.</para>
  2568.       </listitem>
  2569.       <listitem><para>Changed a few bits of the new relocation
  2570.           magic per suggestion from Paul Mackerras. I can't
  2571.           imagine it will help on the failing boxes but one never
  2572.           knows.</para>
  2573.       </listitem>
  2574.       <listitem><para>Added new sections by Marco (FAQ) and
  2575.           Matthias (X).</para>
  2576.       </listitem>
  2577.     </itemizedlist>
  2578.  
  2579.     <emphasis> 981122</emphasis>
  2580.     <itemizedlist>
  2581.       <listitem><para>Added some &debppc; links from Sven Luther</para>
  2582.       </listitem>
  2583.       <listitem><para>Updated list of included drivers.</para>
  2584.       </listitem>
  2585.       <listitem><para>The vger integration is pretty much done
  2586.           now.</para>
  2587.       </listitem>
  2588.       <listitem><para>Reports of 981121 failing to boot. *sigh* If
  2589.           you can get it to boot, use an older kernel.</para>
  2590.       </listitem>
  2591.     </itemizedlist>
  2592.  
  2593.     <emphasis> 981121</emphasis>
  2594.     <itemizedlist>
  2595.       <listitem><para>Added X help text from Marco De Vitis.</para>
  2596.       </listitem>
  2597.       <listitem><para>Good progress on the major &linapus;
  2598.           workover and vger integration. It's now close to being
  2599.           possible to boot a &linapus; kernel on any of the other
  2600.           PPC targets. Do I need to point out that this is a Good
  2601.           Thing(TM) for distributions? :) Still a few nits to
  2602.           sort out though.</para>
  2603.       </listitem>
  2604.       <listitem><para>&boothack; needed a modification to allow
  2605.           the above changes so you need to get that as well. It is
  2606.           backwards compatible, so you can still use it with the
  2607.           older kernels.</para></listitem>
  2608.       <listitem><para>Included pretty much all drivers in the
  2609.           kernel image (and Mac FS and partition table support).</para>
  2610.       </listitem>
  2611.     </itemizedlist>
  2612.  
  2613.     <emphasis> 981117</emphasis>
  2614.     <itemizedlist>
  2615.       <listitem><para>Worked on vger integration.</para>
  2616.       </listitem>
  2617.     </itemizedlist>
  2618.  
  2619.     <emphasis> 981114</emphasis>
  2620.     <itemizedlist>
  2621.       <listitem><para>Renamed iobarrier macros.</para>
  2622.       </listitem>
  2623.       <listitem><para>Updated CyberVision driver. Might have
  2624.           broken it, please let me know.</para>
  2625.       </listitem>
  2626.       <listitem><para>Cleaned up links (see <xref
  2627.         linkend="links">).</para></listitem>
  2628.     </itemizedlist>
  2629.  
  2630.     <emphasis> 981112</emphasis>
  2631.     <itemizedlist>
  2632.       <listitem><para>Replaced auxmem with a simpler hack. Even
  2633.           though auxmem would have been pretty compared with the
  2634.           random hacking of Z2 and motherboard memory now used, it
  2635.           would also have been overkill.</para>
  2636.       </listitem>
  2637.       <listitem><para>Updated to 2.1.127.</para>
  2638.       </listitem>
  2639.     </itemizedlist>
  2640.  
  2641.     <emphasis> 981108</emphasis>
  2642.     <itemizedlist>
  2643.       <listitem><para>Added section about installing from a &rhrc;
  2644.           CD.</para></listitem>
  2645.       <listitem><para>Included Ilario's CVPPC frame buffer
  2646.           device. See the home page for details on use (<xref
  2647.         linkend="links-linux">).</para>
  2648.       </listitem>
  2649.     </itemizedlist>
  2650.  
  2651.     <emphasis> 981107</emphasis>
  2652.     <itemizedlist>
  2653.       <listitem><para>Sync'd with vger again. Mainly to get some
  2654.           &linapus; changes into the &linux; main tree.</para>
  2655.       </listitem>
  2656.       <listitem><para>Juiced up my motivation (nice meeting you,
  2657.           Ken & Julian :)</para>
  2658.       </listitem>
  2659.       <listitem><para>Fixed stupid bug in mm_ptov. Found by
  2660.           Ilario.</para>
  2661.       </listitem>
  2662.       <listitem><para>Redid the fb X fix, avoiding ptov
  2663.           calls.</para>
  2664.       </listitem>
  2665.     </itemizedlist>
  2666.  
  2667.     <emphasis> 981105</emphasis>
  2668.     <itemizedlist>
  2669.       <listitem><para>Added '60nsram' kernel option.</para>
  2670.       </listitem>
  2671.       <listitem><para>Added 'nobats' kernel option.</para>
  2672.       </listitem>
  2673.       <listitem><para>Improved memory mapping; should use BATs
  2674.           correctly, even on &blzppc; cards with weird
  2675.           alignment.</para>
  2676.       </listitem>
  2677.     </itemizedlist>
  2678.  
  2679.     <emphasis> 981103</emphasis>
  2680.     <itemizedlist>
  2681.       <listitem><para>Added patch from Peter McGavin to fix EGS.</para>
  2682.       </listitem>
  2683.       <listitem><para>Added patch from Frank Petzold to fix
  2684.           modules.</para>
  2685.       </listitem>
  2686.       <listitem><para>Worked a bit more on &thisdoc;</para>
  2687.       </listitem>
  2688.     </itemizedlist>
  2689.  
  2690.     <emphasis> 981102</emphasis>
  2691.     <itemizedlist>
  2692.       <listitem><para>Sync'd PPC stuff with vger.</para>
  2693.       </listitem>
  2694.       <listitem><para>Proper fix to the X problem.</para>
  2695.       </listitem>
  2696.       <listitem><para>Started rearranging &thisdoc; into two parts.</para>
  2697.       </listitem>
  2698.     </itemizedlist>
  2699.  
  2700.     <emphasis> 981031</emphasis>
  2701.     <itemizedlist>
  2702.       <listitem><para>Added IDEDOUBLER fix from Geert Uytterhoeven.</para>
  2703.       </listitem>
  2704.       <listitem><para>Added X fix from Carsten.</para>
  2705.       </listitem>
  2706.       <listitem><para>Added some installer doc changes from Ken
  2707.           Tyler.</para>
  2708.       </listitem>
  2709.     </itemizedlist>
  2710.  
  2711.     <emphasis>981018</emphasis>
  2712.     <itemizedlist>
  2713.       <listitem><para>Sven found the problem preventing proper
  2714.           operation on Blizzard. It was as suspected all along
  2715.           related to the new (soon obsolete :) booting
  2716.           process.</para>
  2717.       </listitem>
  2718.       <listitem><para>I have started using egcs-1.1 for building
  2719.           kernels. They seem to work fine on my box. I'd like to
  2720.           hear from you ASAP if they don't work on your box.</para>
  2721.  
  2722.         <para>I don't know if the patches <xref linkend="sd-misc">
  2723.         are necessary for egcs-1.1. I guess time will
  2724.         tell. (Remember; if parts of the patch seems to be missing
  2725.         in egcs-1.1 it doesn't necessary mean that the problem the
  2726.         patch fixed in 1.0.3 hasn't been fixed in some other
  2727.         way.)</para>
  2728.       </listitem>
  2729.       <listitem><para>Included the serial driver again.</para>
  2730.       </listitem>
  2731.     </itemizedlist>
  2732.  
  2733.     <emphasis> 981014</emphasis>
  2734.     <itemizedlist>
  2735.       <listitem><para>Added &rh; install updates from Ken Tyler to
  2736.           &thisdoc;</para>
  2737.       </listitem>
  2738.     </itemizedlist>
  2739.  
  2740.     <emphasis>981009</emphasis>
  2741.     <itemizedlist>
  2742.       <listitem><para>Updated to 2.1.124 (X is still broken).</para>
  2743.       </listitem>
  2744.     </itemizedlist>
  2745.  
  2746.     <emphasis>981005</emphasis>
  2747.     <itemizedlist>
  2748.       <listitem><para>Included Fastlane SCSI driver.</para>
  2749.       </listitem>
  2750.     </itemizedlist>
  2751.  
  2752.     <emphasis>981004</emphasis>
  2753.     <itemizedlist>
  2754.       <listitem><para>Wasted some more time on KGDB. It's still not
  2755.           good, but it's better.</para>
  2756.       </listitem>
  2757.       <listitem><para>Added heartbeat.</para>
  2758.       </listitem>
  2759.     </itemizedlist>
  2760.  
  2761.     <emphasis>981003</emphasis>
  2762.     <itemizedlist>
  2763.       <listitem><para>Made KGDB work (still some problems to sort
  2764.           out, but it is usable).</para>
  2765.       </listitem>
  2766.       <listitem><para>Added workaround for ioremap bug. You can now
  2767.           use motherboard/Z2 memory for swap (see relevant FAQ
  2768.           entry).</para>
  2769.       </listitem>
  2770.       <listitem><para>Added compiler option (-fno-strength-reduce)
  2771.           that may (or may not) affect the A4000T/A4091 SCSI
  2772.           drivers.</para>
  2773.       </listitem>
  2774.     </itemizedlist>
  2775.  
  2776.     <emphasis>981002</emphasis>
  2777.     <itemizedlist>
  2778.       <listitem><para>Added some more changes to the &rh; installer
  2779.           sections from Ken Tyler.</para>
  2780.       </listitem>
  2781.     </itemizedlist>
  2782.  
  2783.     <emphasis> 980926</emphasis>
  2784.     <itemizedlist>
  2785.       <listitem><para>Included some changes to the &rh; installer
  2786.           sections from Ken Tyler.</para>
  2787.       </listitem>
  2788.       <listitem><para>Added new FAQ entry from Ken Tyler
  2789.           (disabling CV to boot on AGA).</para>
  2790.       </listitem>
  2791.       <listitem><para>Added new section with suggestions for
  2792.           &thisdoc;</para>
  2793.       </listitem>
  2794.       <listitem><para>Christophe Decanini reports that RH CDROM, FTP
  2795.           and NFS installation methods work.</para>
  2796.       </listitem>
  2797.     </itemizedlist>
  2798.  
  2799.     <emphasis> 980915</emphasis>
  2800.     <itemizedlist>
  2801.       <listitem><para>Added Geert Uytterhoeven's patch to allow
  2802.           1024x768-16bp with CyberVision.</para>
  2803.       </listitem>
  2804.     </itemizedlist>
  2805.  
  2806.     <emphasis> 980912</emphasis>
  2807.     <itemizedlist>
  2808.       <listitem><para>Undid the first change of 980907 since it made
  2809.           the kernel fail to boot on most other machines.</para>
  2810.       </listitem>
  2811.     </itemizedlist>
  2812.  
  2813.     <emphasis>980908</emphasis>
  2814.     <itemizedlist>
  2815.       <listitem><para>Updated to 2.1.120.</para>
  2816.       </listitem>
  2817.     </itemizedlist>
  2818.  
  2819.     <emphasis>980907</emphasis>
  2820.     <itemizedlist>
  2821.       <listitem><para>Only 128kB is eaten by the PPC exception
  2822.           registers now, leaving 384kB more free memory than
  2823.           before.</para>
  2824.       </listitem>
  2825.       <listitem><para>Added a simple and not yet fully functional
  2826.           method for using motherboard memory as swap. See new FAQ
  2827.           entry.</para>
  2828.       </listitem>
  2829.     </itemizedlist>
  2830.  
  2831.     <emphasis>980902</emphasis>
  2832.     <itemizedlist>
  2833.       <listitem><para>Submitted patch to vger (well, to Geert,
  2834.           really :)</para>
  2835.       </listitem>
  2836.       <listitem><para>Added code to determine bus speed written by
  2837.           Ralph Schmidt.</para>
  2838.       </listitem>
  2839.     </itemizedlist>
  2840.  
  2841.     <emphasis>980901</emphasis>
  2842.     <itemizedlist>
  2843.       <listitem><para>Added latest vger PPC changes.</para>
  2844.       </listitem>
  2845.       <listitem><para>The above bloated the kernel so much that a
  2846.           linker/booter problem prevented it from booting. I removed
  2847.           the Retina and clGen graphics drivers because of
  2848.           this.</para>
  2849.       </listitem>
  2850.     </itemizedlist>
  2851.  
  2852.     <emphasis>980831</emphasis>
  2853.     <itemizedlist>
  2854.       <listitem><para>It's now possible to disable wait states for
  2855.           all bus speeds. Sven Ottemann has been pushing for this
  2856.           for some time, but let me warn you; you need 60ns RAM, and
  2857.           according to Phase5 it doesn't work on 66MHz
  2858.           buses. YMMV.</para>
  2859.       </listitem>
  2860.       <listitem><para> Now the bus speed ID is output at
  2861.           startup to help debugging.</para>
  2862.       </listitem>
  2863.     </itemizedlist>
  2864.  
  2865.  
  2866.     <emphasis>980830</emphasis>
  2867.     <itemizedlist>
  2868.       <listitem><para>Sven Ottemann fixed the booter to be a
  2869.           one-file image, rather than the old ADOSHUNK/ELF
  2870.           pair.</para>
  2871.       </listitem>
  2872.       <listitem><para>Made the booter clear all MMU
  2873.           registers. <filename>head.S</filename> now sets up all the
  2874.           required mappings - which makes the &blzppc; get past the
  2875.           old trouble spot. There are still some problems left
  2876.           though.</para>
  2877.       </listitem>
  2878.       <listitem><para>Reintroduced colors to &thisdoc;, marking new
  2879.           stuff. The chapters and sections are appended with a date
  2880.           where appropriate so you can see where the latest changes
  2881.           are from the table of contents.</para>
  2882.       </listitem>
  2883.     </itemizedlist>
  2884.  
  2885.     <emphasis> 980829</emphasis>
  2886.     <itemizedlist>
  2887.       <listitem><para>Updated to &linux; 2.1.119.</para>
  2888.       </listitem>
  2889.     </itemizedlist>
  2890.  
  2891.     <emphasis> 980827</emphasis>
  2892.     <itemizedlist>
  2893.       <listitem><para> Fixed a potential problem in
  2894.           <filename>head.S</filename>. &blzppc; owners should give
  2895.           it a try.</para>
  2896.       </listitem>
  2897.     </itemizedlist>
  2898.  
  2899.     <emphasis>980822</emphasis>
  2900.     <itemizedlist>
  2901.       <listitem><para> Ken Tyler informs me that the A4091/A4000T
  2902.           SCSI driver is finally working. This is due to the
  2903.           fabulous work of Richard Hirst. Still, this has resulted
  2904.           in an item on the to do list (performance
  2905.           penalty).</para>
  2906.       </listitem>
  2907.       <listitem><para> I have put my sources under CVS control so in
  2908.           the future I will be able to release incremental diffs of
  2909.           the &linapus; sources.</para>
  2910.       </listitem>
  2911.     </itemizedlist>
  2912.  
  2913.     <emphasis>980821</emphasis>
  2914.     <itemizedlist>
  2915.       <listitem><para> Francisco also reports that the Hydra driver
  2916.           is working. </para>
  2917.       </listitem>
  2918.       <listitem><para> &blzppc; owners should check the FAQ entry
  2919.           specific to their HW. I just added a suggestion from Sven
  2920.           Luther.</para>
  2921.       </listitem>
  2922.     </itemizedlist>
  2923.  
  2924.     <emphasis>980820</emphasis>
  2925.     <itemizedlist>
  2926.       <listitem><para> Francisco Sepulveda informs me that the
  2927.           Picasso driver is working on his A3000T.</para>
  2928.       </listitem>
  2929.       <listitem><para> Added patch to menubox.c from Frank Petzold.</para>
  2930.       </listitem>
  2931.       <listitem><para> Changed kernel to use segment registers for
  2932.           mapping kernel space. This might fix the A4000T/A4091
  2933.           driver problem (even though I'm tired of being
  2934.           enthusiastic about that :)</para>
  2935.       </listitem>
  2936.     </itemizedlist>
  2937.  
  2938.     <emphasis>980816</emphasis>
  2939.     <itemizedlist>
  2940.       <listitem><para> Completed move of &thisdoc; to DocBook. That
  2941.           took some time!</para>
  2942.         <para> I wonder if anyone will miss the color highlighting
  2943.           of changes to the document? If so, let me know and I will
  2944.           get it working again.</para>
  2945.       </listitem>
  2946.       <listitem><para> Added some changes from &linppc;</para>
  2947.       </listitem>
  2948.     </itemizedlist>
  2949.  
  2950.     <emphasis>980813</emphasis>
  2951.     <itemizedlist>
  2952.       <listitem><para> Included &blzppc; SCSI driver again.</para>
  2953.       </listitem>
  2954.       <listitem><para> Included Buddha IDE driver.</para>
  2955.       </listitem>
  2956.       <listitem><para> Included patch to socket.h</para>
  2957.       </listitem>
  2958.     </itemizedlist>
  2959.  
  2960.     <emphasis>980812</emphasis>
  2961.     <itemizedlist>
  2962.       <listitem><para>Included clgen gfx driver.</para>
  2963.       </listitem>
  2964.       <listitem><para>More additions to the A4091 support.</para>
  2965.       </listitem>
  2966.       <listitem><para>Updated to linux-2.1.115</para>
  2967.       </listitem>
  2968.     </itemizedlist>
  2969.  
  2970.     <emphasis>980801</emphasis>
  2971.     <itemizedlist>
  2972.       <listitem><para> Unfortunately the new &boothack; still can't
  2973.           boot &linapus; properly on &blzppc; - possibly a problem
  2974.           with the 040. I'd like to hear from &cybppc; people who
  2975.           can boot on an 040.</para>
  2976.       </listitem>
  2977.       <listitem><para> Added a few syncs and eieios to the
  2978.           booter.</para> 
  2979.       </listitem>
  2980.       <listitem><para> Added Sven's Blizzard SCSI patches. The
  2981.           kernel image in vmbl980801.lzh includes this driver and a
  2982.           not the Gayle IDE driver which conflicts with the SCSI
  2983.           driver for some reason.</para>
  2984.       </listitem>
  2985.     </itemizedlist>
  2986.  
  2987.     <emphasis>980730</emphasis>
  2988.     <itemizedlist>
  2989.       <listitem><para> &boothack;: Added more robust synchronization
  2990.           between the CPUs (the "wedgie" scheme).</para>
  2991.       </listitem>
  2992.       <listitem><para> &boothack;: Added stack space for &cpuppc; in
  2993.           CHIP.</para>
  2994.       </listitem>
  2995.       <listitem><para> &boothack;: Invalidate cache contents.</para>
  2996.       </listitem>
  2997.       <listitem><para> &boothack;: Disable TimerBase interrupts
  2998.           (this is the one that won the gold).</para>
  2999.       </listitem>
  3000.       <listitem><para> The above ensures rock-stable booting on my
  3001.           box with the 980711 ppc.library. No more bad checksums;
  3002.           it's just awesome :)</para>
  3003.       </listitem>
  3004.     </itemizedlist>
  3005.  
  3006.     <emphasis>980726-2</emphasis>
  3007.     <itemizedlist>
  3008.       <listitem><para> Updated my ppc.library to 980711. I now know
  3009.           what the problem has been on the &blzppc; cards - I think
  3010.           :)</para>
  3011.       </listitem>
  3012.       <listitem><para> Moved head.S progress word to 0xfff0eff0.</para>
  3013.       </listitem>
  3014.       <listitem><para> Added some text about how to avoid memory
  3015.           problems when booting (Please <emphasis>do</emphasis> read
  3016.           it and tell me if it is of any help, or if it requires
  3017.           changes/additions).</para>
  3018.       </listitem>
  3019.       <listitem><para> Added checksum code to the booter.</para>
  3020.       </listitem>
  3021.     </itemizedlist>
  3022.  
  3023.     <emphasis>980726</emphasis>
  3024.     <itemizedlist>
  3025.       <listitem><para> Fixed the problem with zorro devices count.</para>
  3026.       </listitem>
  3027.       <listitem><para> Fixed memory initialization code again.</para>
  3028.       </listitem>
  3029.     </itemizedlist>
  3030.  
  3031.     <emphasis>980725</emphasis>
  3032.     <itemizedlist>
  3033.       <listitem><para> Fixed silly bug in an A4091/A4000T SCSI
  3034.           driver support routine which caused kernel panics.</para>
  3035.       </listitem>
  3036.       <listitem><para> Thomas Lohmann informs me that Ken&Son's
  3037.           &rhinstaller; works with FTP.</para>
  3038.       </listitem>
  3039.       <listitem><para> Added new contrib directory at &sunsite; (see
  3040.           <xref linkend="sunsite">).</para>
  3041.       </listitem>
  3042.       <listitem><para> Memory initialization should now correctly
  3043.           identify an active &ados; ROM shadow and ignore that 512kB
  3044.           block of memory.</para>
  3045.       </listitem>
  3046.     </itemizedlist>
  3047.  
  3048.     <emphasis>980724</emphasis>
  3049.     <itemizedlist>
  3050.       <listitem><para> Changed date format to YYMMDD.</para>
  3051.       </listitem>
  3052.       <listitem><para> Fixed problem with Zorro structures (get
  3053.           newest &boothack;).</para>
  3054.       </listitem>
  3055.     </itemizedlist>
  3056.  
  3057.     <emphasis>980723</emphasis>
  3058.     <itemizedlist>
  3059.       <listitem><para> Apparently lots of stuff is broken in
  3060.           2.1.108: CyberVision, GVP HC+8, you name it. I'm
  3061.           clueless. Nothing really changed on the &linapus; side of
  3062.           things, so I must have missed some serious &linm68k;
  3063.           changes.</para>
  3064.       </listitem>
  3065.       <listitem><para> Thomas Lohmann informs me that CV works with
  3066.           the console in all resolutions after he installed the
  3067.           ppc.library included in cybergfx of 05.07.98
  3068.           (IIRC).</para>
  3069.       </listitem>
  3070.       <listitem><para> I tried including sound in the kernel, but
  3071.           there is a build problem.</para>
  3072.       </listitem>
  3073.       <listitem><para> I have made some changes to the A4091/A4000T
  3074.           driver support that might make a difference.</para>
  3075.       </listitem>
  3076.     </itemizedlist>
  3077.  
  3078.     <emphasis>980719</emphasis>
  3079.     <itemizedlist>
  3080.       <listitem><para> Added Richard Hirst's 53c710 patch.</para>
  3081.       </listitem>
  3082.     </itemizedlist>
  3083.  
  3084.     <emphasis>980711</emphasis>
  3085.     <itemizedlist>
  3086.       <listitem><para> Moved patches to 2.1.108.</para>
  3087.       </listitem>
  3088.       <listitem><para> Added a few FAQ changes suggested by Thomas
  3089.           Lohmann. He also told me that the GVP A2000-HC+8 Series II
  3090.           SCSI controller is working with &linapus;.</para>
  3091.       </listitem>
  3092.     </itemizedlist>
  3093.  
  3094.     <emphasis>980710</emphasis>
  3095.     <itemizedlist>
  3096.       <listitem><para> Increased SCSI timeouts.</para>
  3097.       </listitem>
  3098.       <listitem><para> Tested &linapus; startup with ppc.library
  3099.           version 46.15 and 68060.library version 44.3. No problems
  3100.           whatsoever on my box.</para>
  3101.       </listitem>
  3102.     </itemizedlist>
  3103.  
  3104.     <emphasis>980707</emphasis>
  3105.     <itemizedlist>
  3106.       <listitem><para> Massimo Gais has made a mirror of the apus
  3107.           directory at ftp.unina.it.</para>
  3108.       </listitem>
  3109.     </itemizedlist>
  3110.  
  3111.     <emphasis>980617</emphasis>
  3112.     <itemizedlist>
  3113.       <listitem><para> Reordered the sections in the installation
  3114.           chapter.</para>
  3115.       </listitem>
  3116.       <listitem><para> Changed the booter to disable ROM
  3117.           mappings. Maybe it will help on &blzppc; cards?</para>
  3118.       </listitem>
  3119.     </itemizedlist>
  3120.  
  3121.     <emphasis>980616</emphasis>
  3122.     <itemizedlist>
  3123.       <listitem><para> I have run of ideas for what could be causing
  3124.           the &blzppc; problem. Someone with a &blzppc;s needs to
  3125.           dig in and have a look. I'm not spending any more time on
  3126.           this....</para>
  3127.       </listitem>
  3128.       <listitem><para> Ken and Julian Tyler have completed the
  3129.           &rhinstaller; support for &linapus;. Obviously this makes
  3130.           it <emphasis>much</emphasis> easier to get a system
  3131.           properly installed and working.</para>
  3132.       </listitem>
  3133.     </itemizedlist>
  3134.  
  3135.     <emphasis>980615</emphasis>
  3136.     <itemizedlist>
  3137.       <listitem><para> &sunsite; has been unaccessible for a couple
  3138.           of days now. It's due to a cut cable on the Danish back
  3139.           bone (I think).</para>
  3140.       </listitem>
  3141.       <listitem><para> Bartek Kozakiewicz tells me that HFS and
  3142.           ISO9660/Joliet drivers are working. And also that the
  3143.           printer driver is working.</para>
  3144.       </listitem>
  3145.     </itemizedlist>
  3146.  
  3147.     <emphasis>980612</emphasis>
  3148.     <itemizedlist>
  3149.       <listitem><para> Now writes head.S progress to
  3150.           0xfff07000. Hope it works this time... *sigh*</para>
  3151.       </listitem>
  3152.       <listitem><para> Cleaned up &linapus; changes to intrude less
  3153.           on the &linm68k; sources.</para>
  3154.       </listitem>
  3155.     </itemizedlist>
  3156.  
  3157.     <emphasis>980610</emphasis>
  3158.     <itemizedlist>
  3159.       <listitem><para> Carsten Plunkte tells me it is important to
  3160.           apply the egcs patches from &sunsite; if building
  3161.           applications (I added a new subsection to
  3162.           Applications).</para>
  3163.       </listitem>
  3164.     </itemizedlist>
  3165.  
  3166.     <emphasis>980609</emphasis>
  3167.     <itemizedlist>
  3168.       <listitem><para> Moved patches to 2.1.105.</para></listitem>
  3169.       <listitem><para> Geert Uytterhoeven tells me that emacs-nox
  3170.           also fails on CHRP so it is indeed an application
  3171.           problem.</para>
  3172.       </listitem>
  3173.     </itemizedlist>
  3174.  
  3175.     <emphasis>980607</emphasis>
  3176.     <itemizedlist>
  3177.       <listitem><para> Updated ppc.library to V45.20. Everything is
  3178.           still working. Also tried installing another 8MB but the
  3179.           ppc.library (V44.27) wouldn't run then. I might try
  3180.           installing the RAM again with the new ppc.library at some
  3181.           time.</para>
  3182.       </listitem>
  3183.       <listitem><para> Corrected initial mapping in head.S - I had
  3184.           set it to 4MB, not 8MB.</para>
  3185.       </listitem>
  3186.       <listitem><para> Now writes head.S progress to address
  3187.           0xfff02ffc which exists on all PoweUp boards and is not
  3188.           deleted by the &p5; &cpuppc; software (not on my box
  3189.           anyway).</para>
  3190.       </listitem>
  3191.     </itemizedlist>
  3192.  
  3193.     <emphasis>980606</emphasis>
  3194.     <itemizedlist>
  3195.       <listitem><para> The emacs compiled with X libs works, so I
  3196.           think the problem with emacs-nox is probably a generic
  3197.           (application) problem, and not caused in particular by the
  3198.           &linapus; kernel.</para>
  3199.       </listitem>
  3200.       <listitem><para> More reports of problems booting the newest
  3201.           kernels. I'm at a loss here - the kernels are working fine
  3202.           on my box.</para>
  3203.       </listitem>
  3204.     </itemizedlist>
  3205.  
  3206.     <emphasis>980604</emphasis>
  3207.     <itemizedlist>
  3208.       <listitem><para> Merged in a few vger changes and submitted
  3209.           the few &linapus; changes to the vger tree.</para>
  3210.       </listitem>
  3211.     </itemizedlist>
  3212.     
  3213.     <emphasis>980603</emphasis>
  3214.     <itemizedlist>
  3215.       <listitem><para> I replaced the head.S serial progress output
  3216.           with a counter updated in memory. If the kernel hangs for
  3217.           you before it opens a display, have a look at address
  3218.           0xfff04000 after rebooting. The long word should read
  3219.           0x1234000?, with ? being between 1 and 8.</para>
  3220.       </listitem>
  3221.     </itemizedlist>
  3222.  
  3223.     <emphasis>980601</emphasis>
  3224.     <itemizedlist>
  3225.       <listitem><para> SCSI drivers are now again included in the
  3226.           precompiled kernels.</para>
  3227.       </listitem>
  3228.     </itemizedlist>
  3229.  
  3230.     <emphasis>980528</emphasis>
  3231.     <itemizedlist>
  3232.       <listitem><para> Exception registers are now mapped with
  3233.           caching enabled.</para>
  3234.       </listitem>
  3235.       <listitem><para> The kernel can now reboot the machine (thanks
  3236.           to Holger Jakob who bugged Ralph Schmidt for the
  3237.           information.)</para>
  3238.       </listitem>
  3239.       <listitem><para> The kernel should now be able to handle weird
  3240.           aligned memory (such as 24MB aligned to an 8MB
  3241.           boundary).</para>
  3242.       </listitem>
  3243.       <listitem><para> While working its way through head.S (early
  3244.           initialization) the kernel now writes the characters A-F
  3245.           to the serial port much like &linm68k;. Caching issues
  3246.           prevents it from being just as detailed as in &linm68k;
  3247.           though.</para>
  3248.       </listitem>
  3249.       <listitem><para> Removed BOOTP/RARP support.</para>
  3250.       </listitem>
  3251.     </itemizedlist>
  3252.  
  3253.     <emphasis>980527</emphasis>
  3254.     <itemizedlist>
  3255.       <listitem><para> Found potential cause of the &blzppc;
  3256.           problems; the first mapping set up before the memory
  3257.           system is initialized used a 64MB mapping instead of the
  3258.           16MB mentioned in the comment. I changed it to 8MB which
  3259.           should allow a &blzppc; box with only 8MB to boot
  3260.           &linapus;.</para>
  3261.       </listitem>
  3262.       <listitem><para> Included support for msdos partition tables.</para>
  3263.       </listitem>
  3264.       <listitem><para> Put some patches for egcs-1.0.3 in the misc
  3265.           directory at &sunsite;. I don't know how important they
  3266.           are: I've recompiled a working kernel under &linapus;
  3267.           without the patches. The patches are from a posting on the
  3268.           &linppc; kernel list.</para>
  3269.       </listitem>
  3270.     </itemizedlist>
  3271.  
  3272.     <emphasis>980525</emphasis>
  3273.     <itemizedlist>
  3274.       <listitem><para> More patches for vger and the &linm68k;
  3275.           kernel have been submitted.</para>
  3276.       </listitem>
  3277.       <listitem><para> &linapus; is now up-to-date with &linm68k;
  3278.           2.1.101 and &linppc;-vger-980523. </para>
  3279.       </listitem>
  3280.       <listitem><para> I finally got around to installing a new disk
  3281.           in my &amiga; so I can now do some more testing on
  3282.           it. Also installed &rhppc;/1998.</para>
  3283.       </listitem>
  3284.       <listitem><para> Egcs-1.0.3 has been released. There are still
  3285.           some &linppc;-specific patches which have not been
  3286.           included, but with egcs-1.0.3 and binutils-2.9.1 I can
  3287.           compile a working kernel under &linapus;.</para>
  3288.       </listitem>
  3289.     </itemizedlist>
  3290.  
  3291.     <emphasis>980521</emphasis>
  3292.     <itemizedlist>
  3293.       <listitem><para> Added a new section with mirror sites. First
  3294.           entry is in Poland (thanks Bartek). If you have made a
  3295.           mirror or an archive of the mailing list please let me
  3296.           know.</para>
  3297.       </listitem>
  3298.       <listitem><para> Jimmy "What's-yer-sir-name?" reported that X
  3299.           is finally running on CyberVision. Shortly after Jeffrey
  3300.           W. Davis posted a nice HOWTO on the &linapus; kernel list
  3301.           which I have put in the FAQ section.</para>
  3302.       </listitem>
  3303.       <listitem><para> Most of the remaining &linapus; patches have
  3304.           been applied to the &cpuppc; tree at vger.</para>
  3305.       </listitem>
  3306.     </itemizedlist>
  3307.  
  3308.     <emphasis>980516</emphasis>
  3309.     <itemizedlist>
  3310.       <listitem><para> I added a new section about kernel debugging.</para>
  3311.       </listitem>
  3312.       <listitem><para> I completed the &linm68k;-2.1.99 and
  3313.           vger-980424 merge. I'll upload this diff and start working
  3314.           on merging 2.1.1xx and vger-980514.</para>
  3315.       </listitem>
  3316.       <listitem><para> Sven Ottemann reports that CyberVision is
  3317.           working with the console. X does <emphasis>not</emphasis>
  3318.           work. (old news btw, but now it's in the list).</para>
  3319.       </listitem>
  3320.     </itemizedlist>
  3321.  
  3322.     <emphasis>980514</emphasis>
  3323.     <itemizedlist>
  3324.       <listitem><para> Alex Kazik reports that 980507 change fixed
  3325.           the problems with the GVP 11 SCSI driver.</para>
  3326.       </listitem>
  3327.     </itemizedlist>
  3328.  
  3329.     <emphasis>980512</emphasis>
  3330.     <itemizedlist>
  3331.       <listitem><para> The 980507 change did solve the problem with
  3332.           at least A3000 SCSI. The 53c7xx driver (A4000T+A4091) is
  3333.           also broken under &linm68k; so it will not be fixed by the
  3334.           change.</para>
  3335.       </listitem>
  3336.       <listitem><para> I got my vger merge booting as far as
  3337.           INIT. I'll merge it with 2.1.99 before tracking the last
  3338.           problems down.</para>
  3339.       </listitem>
  3340.       <listitem><para> Removed A4091 and A4000T SCSI drivers from
  3341.           the precompiled kernel.</para>
  3342.       </listitem>
  3343.     </itemizedlist>
  3344.  
  3345.     <emphasis>980507</emphasis>
  3346.     <itemizedlist>
  3347.       <listitem><para> Hopefully fixed kernel_map/VTOP
  3348.           problems. Also cleaned up cache functions. SCSI users
  3349.           should try if this improves things.</para>
  3350.       </listitem>
  3351.     </itemizedlist>
  3352.  
  3353.     <emphasis>980506</emphasis>
  3354.     <itemizedlist>
  3355.       <listitem><para> Removed the sound driver from the precompiled
  3356.           kernel.</para>
  3357.       </listitem>
  3358.     </itemizedlist>
  3359.  
  3360.     <emphasis>980503</emphasis>
  3361.     <itemizedlist>
  3362.       <listitem><para> Completed vger merge. Can't test it though
  3363.           since my shiny new &rh; 5.0 box doesn't like me using the
  3364.           network. I'll re-install 4.2 sometime in the coming
  3365.           week.</para>
  3366.       </listitem>
  3367.       <listitem><para> I think I have found the problem with the
  3368.           SCSI drivers: they use cache_flush/clear with addresses
  3369.           that are not necessarily in kernel space (bounce
  3370.           buffers. user space buffers(?)). The &cpuppc; uses
  3371.           <emphasis>virtual</emphasis> addresses in its cache
  3372.           instructions and PTOV is non-trivial, slow and definitely
  3373.           not working correctly at the moment.  Have to give this
  3374.           some serious thought.</para>
  3375.       </listitem>
  3376.     </itemizedlist> 
  3377.  
  3378.     <emphasis>980502</emphasis>
  3379.     <itemizedlist>
  3380.       <listitem><para> Thomas Lohmann reports that Ariadne is
  3381.           working.</para>
  3382.       </listitem>
  3383.       <listitem><para> Updated texts about news group and
  3384.           cross-compilation.</para>
  3385.       </listitem>
  3386.     </itemizedlist>
  3387.  
  3388.     <emphasis>980501</emphasis>
  3389.     <itemizedlist>
  3390.       <listitem><para> Jouko Pynnonen reports that &linapus; is
  3391.           finally working on the A1200 &blzppc;.</para>
  3392.       </listitem>
  3393.       <listitem><para> Sven Ottemann updated the
  3394.           <command>hdinstall</command> script.</para>
  3395.       </listitem>
  3396.       <listitem><para> Holger Jakob uploaded an XF86Config example
  3397.           file for 640x480x256 AGA, and a patch for gpm.</para>
  3398.       </listitem>
  3399.     </itemizedlist>
  3400.  
  3401.     <emphasis>980429</emphasis>
  3402.     <itemizedlist>
  3403.       <listitem><para> Tripled SCSI timeouts.  </para>
  3404.       </listitem>
  3405.       <listitem><para> Reverted BAT mapping change of
  3406.           980425. Configurations with non-power-of-two memory sizes
  3407.           fail with this.</para>
  3408.       </listitem>
  3409.       <listitem><para> I have to rewrite the memory mapping to
  3410.           support the &cybppc; HW properly: the &cpuppc; is not
  3411.           happy with the weird alignments caused by growing the
  3412.           memory downwards (as designed by &p5;). If &ados; was
  3413.           using the MMU, I'm sure the memory base would be at the
  3414.           bottom of the addressing space.</para>
  3415.       </listitem>
  3416.       <listitem><para> Changed the CPU speeds for &blzppc; to
  3417.           50MHz/66MHz.</para>
  3418.       </listitem>
  3419.       <listitem><para> Continue with vger merging.</para>
  3420.       </listitem>
  3421.     </itemizedlist>
  3422.  
  3423.     <emphasis>980428</emphasis>
  3424.     <itemizedlist>
  3425.       <listitem><para> Started to merge the latest vger changes into
  3426.           the &linapus; kernel sources.</para>
  3427.       </listitem>
  3428.     </itemizedlist>
  3429.  
  3430.     <emphasis>980427</emphasis>
  3431.     <itemizedlist>
  3432.       <listitem><para> Use same page fault mechanism on &cpu603; as
  3433.           on &cpu604;. May solve problem with &blzppc;.</para>
  3434.       </listitem>
  3435.       <listitem><para> Realized that some people might have a memory
  3436.           configuration which cannot be mapped with BATs. Added
  3437.           instructions in <xref linkend="booting">.</para>
  3438.       </listitem>
  3439.       <listitem><para> The kernel I build with egcs-1.0.2 after
  3440.           disabling the inline assembly versions of __swab16/32
  3441.           seems pretty stable.</para>
  3442.       </listitem>
  3443.     </itemizedlist>
  3444.  
  3445.     <emphasis>980426</emphasis>
  3446.     <itemizedlist>
  3447.       <listitem><para> Made a small (fancy :) script which makes it
  3448.           easy to mark changes in the HTML version of this document
  3449.           with colors.</para>
  3450.       </listitem>
  3451.       <listitem><para> Had a go at using egcs to compile the
  3452.           kernel. Didn't work very well. I hope the next egcs
  3453.           release will fix it. If you have the time, please try to
  3454.           get gcc-2.7.2.1 (available from &sunsite; in misc) running
  3455.           under &linapus; and upload the binaries to
  3456.           &sunsite;.</para>
  3457.       </listitem>
  3458.       <listitem><para> Sven Ottemann reports that the floppy driver
  3459.           works with both affs and msdos formatted floppies. </para>
  3460.       </listitem>
  3461.     </itemizedlist>
  3462.  
  3463.     <emphasis>980425</emphasis>
  3464.     <itemizedlist>
  3465.       <listitem><para> Map exception vectors and &cybppc; control
  3466.           vectors with different BATs for improved
  3467.           performance.</para>
  3468.       </listitem>
  3469.       <listitem><para> Unfortunately the last booter changes made it
  3470.           unusable. The 980425 version should be better.</para>
  3471.       </listitem>
  3472.     </itemizedlist>
  3473.  
  3474.     <emphasis>980424</emphasis>
  3475.     <itemizedlist>
  3476.       <listitem><para> Thomas Haller reports that A3000 SCSI
  3477.           actually works if DMA is disabled.</para>
  3478.       </listitem>
  3479.       <listitem><para> Added some progress information to the booter
  3480.           which can be used (hopefully) to find the &blzppc;
  3481.           problems. See FAQ.</para>
  3482.       </listitem>
  3483.     </itemizedlist>
  3484.  
  3485.     <emphasis>980423</emphasis>
  3486.     <itemizedlist>
  3487.       <listitem><para> Fiddled a bit with gcc under &linapus;. The
  3488.           version of gcc I use on Concubine (x86) I cannot get
  3489.           properly working under &linapus;. I have to look into the
  3490.           problems with egcs RSN. I put an additional gcc patch on
  3491.           &sunsite;/misc, but it's probably not worth getting;
  3492.           &linppc; is going to use egcs in the future so I have to
  3493.           get those problems fixed anyways. Stay tuned!</para>
  3494.       </listitem>
  3495.     </itemizedlist>
  3496.  
  3497.     <emphasis>980422</emphasis>
  3498.     <itemizedlist>
  3499.       <listitem><para> Fixed bus_to_virt/virt_to_bus macros. May
  3500.           help A4000T and A4091 drivers.</para>
  3501.       </listitem>
  3502.     </itemizedlist>
  3503.  
  3504.     <emphasis>980421</emphasis>
  3505.     <itemizedlist>
  3506.       <listitem><para> Checked if LPSTOP could be used on the
  3507.           &cpu060; to reduce heat in the box. It cannot.</para>
  3508.       </listitem>
  3509.       <listitem><para> Fixed problem with debug=mem. This may also
  3510.           affect drivers using the VTOP macro.</para>
  3511.       </listitem>
  3512.     </itemizedlist>
  3513.  
  3514.     <emphasis>980420</emphasis>
  3515.     <itemizedlist>
  3516.       <listitem><para> Completed the last part of the FAQ. Added the
  3517.           new kernel mailing list address.</para>
  3518.       </listitem>
  3519.     </itemizedlist>
  3520.  
  3521.     <emphasis>980419</emphasis>
  3522.     <itemizedlist>
  3523.       <listitem><para>  Proper bus speed check for A1200 &blzppc;.</para>
  3524.       </listitem>
  3525.       <listitem><para> The new HTML FAQ almost done. Will announce
  3526.           it and the new directory Monday.</para>
  3527.       </listitem>
  3528.     </itemizedlist>
  3529.  
  3530.     <emphasis>980418</emphasis>
  3531.     <itemizedlist>
  3532.       <listitem><para> Added patch from Holger Jakob to allow
  3533.           inclusion of DMA sound.</para>
  3534.       </listitem>
  3535.     </itemizedlist>
  3536.  
  3537.     <emphasis>980417</emphasis>
  3538.     <itemizedlist>
  3539.       <listitem><para>  Started work on SGML'ogrifing the FAQ.</para>
  3540.       </listitem>
  3541.       <listitem><para> Got a dedicated directory at
  3542.           &sunsite;. Thanks Karsten!</para>
  3543.       </listitem>
  3544.     </itemizedlist>
  3545.  
  3546.     <emphasis>980416</emphasis>
  3547.     <itemizedlist>
  3548.       <listitem><para> Added a patch from Carsten Pluntke to fix a
  3549.           virtual-to-physical address translation problem causing X
  3550.           to crash.</para>
  3551.       </listitem>
  3552.       <listitem><para> Fixed a potential problem with
  3553.           ioremap. Hopefully SCSI drivers using kernel_map
  3554.           (A4000T/A4091/Fastlane) will now work.</para>
  3555.       </listitem>
  3556.     </itemizedlist>
  3557.  
  3558.     <emphasis>980414</emphasis>
  3559.     <itemizedlist>
  3560.       <listitem><para> Added a &gdb; debugging stub to the kernel
  3561.           sources (not the binaries).</para>
  3562.       </listitem>
  3563.       <listitem><para> Sven Ottemann completed the HD install
  3564.           script. Get <filename>hdinstall.lha</filename> and the
  3565.           newest FAQ for instructions.</para>
  3566.       </listitem>
  3567.       <listitem><para> Added handling for booting on systems where
  3568.           the ROM has been mapped to RAM. (not tested)</para>
  3569.       </listitem>
  3570.       <listitem><para> Added a compiled version of the kernel
  3571.           without the A3000 SCSI driver.</para>
  3572.       </listitem>
  3573.       <listitem><para>  Added PPP driver.</para>
  3574.       </listitem>
  3575.     </itemizedlist>
  3576.  
  3577.     <emphasis>980409</emphasis>
  3578.     <itemizedlist>
  3579.       <listitem><para>  Added a few extra drivers.</para>
  3580.       </listitem>
  3581.     </itemizedlist>
  3582.  
  3583.     <emphasis>980331</emphasis>
  3584.     <itemizedlist>
  3585.       <listitem><para>  Applied some more of Roman's patches.</para>
  3586.       </listitem>
  3587.       <listitem><para>  Fixed RAM disk problem.</para>
  3588.       </listitem>
  3589.     </itemizedlist>
  3590.  
  3591.     <emphasis>980326</emphasis>
  3592.     <itemizedlist>
  3593.       <listitem><para>  Applied a few of Roman's patches.</para>
  3594.       </listitem>
  3595.       <listitem><para> Changed the way the exception vectors are
  3596.           handled. You have to get the new &boothack; as well
  3597.           (bh980326.lha).</para>
  3598.       </listitem>
  3599.     </itemizedlist>
  3600.     
  3601.     <emphasis>980324</emphasis>
  3602.     <itemizedlist>
  3603.       <listitem><para>  Moved the patches to 2.1.90. </para>
  3604.       </listitem>
  3605.       <listitem><para> I still have a few of Roman Zippel's patches
  3606.           that have not been applied.</para>
  3607.       </listitem>
  3608.     </itemizedlist>
  3609.  
  3610.     <emphasis>980316</emphasis>
  3611.     <itemizedlist>
  3612.       <listitem><para> I wrote a small &linapus; FAQ available from
  3613.           &sunsite; in the apus directory.</para>
  3614.       </listitem>
  3615.     </itemizedlist>
  3616.     
  3617.     <emphasis>980224</emphasis>
  3618.     <itemizedlist>
  3619.       <listitem><para>  The kernel now auto detects the bus speed.</para>
  3620.       </listitem>
  3621.       <listitem><para> If you have a system with a 60MHz bus speed
  3622.           and press the left mouse button while booting, the memory
  3623.           waitstate will be removed (this requires 60ns RAM).</para>
  3624.       </listitem>
  3625.     </itemizedlist>
  3626.  
  3627.     <emphasis>980223</emphasis>
  3628.     <itemizedlist>
  3629.       <listitem><para> Kernels now compiled for 60MHz and 66MHz
  3630.           busses.</para>
  3631.       </listitem>
  3632.       <listitem><para> Includes a few more drivers.</para>
  3633.       </listitem>
  3634.     </itemizedlist>
  3635.  
  3636.     <emphasis>980216</emphasis>
  3637.     <itemizedlist>
  3638.       <listitem><para> Kernel seems to be working. I experienced
  3639.           some random signals to user processes during the weekend,
  3640.           but was not able to reproduce it. </para>
  3641.       </listitem>
  3642.       <listitem><para> Compiled a version for 50MHz busses with 60ns
  3643.           RAM.</para>
  3644.       </listitem>
  3645.       <listitem><para> Included System.map and .config for
  3646.           reference.</para>
  3647.       </listitem>
  3648.     </itemizedlist>
  3649.  
  3650.     <emphasis>980212</emphasis>
  3651.     <itemizedlist>
  3652.       <listitem><para> Did some more magic with the interrupt
  3653.           handling.</para>
  3654.       </listitem>
  3655.       <listitem><para> Tracked down the problem causing the kernel
  3656.           to hang from time to time (A2065).</para>
  3657.       </listitem>
  3658.       <listitem><para> Compiled two versions of the kernel; one for
  3659.           50MHz bus and one for 66MHz bus. I will add auto detect
  3660.           soon.</para>
  3661.       </listitem>
  3662.     </itemizedlist>
  3663.     
  3664.     <emphasis>980208</emphasis>
  3665.     <itemizedlist>
  3666.       <listitem><para>Moved my changes to 2.1.85. </para>
  3667.       </listitem>
  3668.       <listitem><para>Cleaned up the handling of
  3669.           interrupts. Mismatch between &p5; doc and actual behavior
  3670.           (&p5; notified).</para>
  3671.       </listitem>
  3672.       <listitem><para>The kernel still hangs from time to time
  3673.           (while processing bottom half interrupt handlers). This
  3674.           might be due to some spurious interrupts, improper
  3675.           interrupt handling, or some problem in the kernel code
  3676.           that only affects &linapus;. I'm looking into it.</para>
  3677.       </listitem>
  3678.     </itemizedlist>
  3679.  
  3680.     <emphasis>980205</emphasis>
  3681.     <itemizedlist>
  3682.       <listitem><para> Added minix support to the kernel.  </para>
  3683.       </listitem>
  3684.       <listitem><para> The kernel happily boots the ram disk but is
  3685.           pretty unstable. This is due to improper interrupt
  3686.           handling. I think I have it nailed down, though.</para>
  3687.       </listitem>
  3688.     </itemizedlist>
  3689.  
  3690.     <emphasis>980204</emphasis>
  3691.     <itemizedlist>
  3692.       <listitem><para> Ram disks now work properly (also updated the
  3693.           booter).</para>
  3694.       </listitem>
  3695.     </itemizedlist>
  3696.  
  3697.     <emphasis>980203</emphasis>
  3698.     <itemizedlist>
  3699.       <listitem><para> The patched instructions in the hashing
  3700.           algorithm had to be copied to 0xfff00000 where the
  3701.           exception vectors are located on &linapus;.</para>
  3702.       </listitem>
  3703.     </itemizedlist>
  3704.  
  3705.     <emphasis>980202</emphasis>
  3706.     <itemizedlist>
  3707.       <listitem><para> IDE driver is now working.  </para>
  3708.       </listitem>
  3709.       <listitem><para> Kernel hangs when elf_create_table is
  3710.           accessing the stack of the user program to be launched
  3711.           (problem with exception handlers?)</para>
  3712.       </listitem>
  3713.     </itemizedlist>
  3714.       </para>
  3715.  
  3716.     </chapter>
  3717.     <chapter id="people"><title>People</title>
  3718.  
  3719.       <para>Here is a list of the people who helped make &linapus; what
  3720.     it is today. There is also room for <emphasis>your</emphasis>
  3721.     name!</para>
  3722.  
  3723.       <sect1><title>&p5; Appointed Developers</title>
  3724.  
  3725.     <para>&p5; supported the port of &linux; to their &cybppc;
  3726.       hardware by disclosing information about the hardware
  3727.       to:</para>
  3728.  
  3729.     <itemizedlist>
  3730.       <listitem><para>Roman Zippel (<ulink
  3731.         url="mailto:zippel@fh-brandenburg.de">
  3732.         zippel@fh-brandenburg.de</ulink>)</para>
  3733.       </listitem>
  3734.       <listitem><para>Jes Sørensen (<ulink
  3735.         url="mailto:Jes.Sorensen@cern.ch">
  3736.         Jes.Sorensen@cern.ch</ulink>)</para>
  3737.       </listitem>
  3738.       <listitem><para>Jesper Skov (<ulink url="mailto:jskov@cygnus.co.uk">
  3739.         jskov@cygnus.co.uk</ulink>)</para>
  3740.       </listitem>
  3741.     </itemizedlist>
  3742.       </sect1>
  3743.  
  3744.       <sect1><title>Contributors</title>
  3745.  
  3746.     <para>A few people have started helping with &linapus;. I hope
  3747.       more will join (see <xref linkend="todo">). If you were not
  3748.         critically deprived of air at birth, and thus do not see the
  3749.         fun in kernel hacking, you can still help. Complement or add
  3750.         sections to &thisdoc;, get responsibility for &debian; or
  3751.         &rh; packages of tools you like, write a helping text for
  3752.         others about a problem you have fought your way through, be
  3753.         helpful on the news group (this would be very appreciated - I
  3754.         can only read news at work and don't always have the time to
  3755.         be helpful myself), send me (or others) grateful emails, or
  3756.         even tons of money. Use your imagination and help make
  3757.         &linm68k; and &linapus; better systems for people with less
  3758.         experience than yourself.</para>
  3759.  
  3760.     <para>There are two parties in particular that I feel deserve
  3761.       kudos: &p5; for helping this port along, and the system
  3762.       administrators at &sunsite; (Karsten Thygesen in particular)
  3763.       for supplying disk space and generally for being a nice bunch
  3764.       (as all Danes are, of course :).</para>
  3765.  
  3766.     <para>For paragraph-sized contributions to &thisdoc;, I put the
  3767.       author's name above the text. Patches to the kernel are
  3768.       rewarded with gratitude and (for bigger stuff) a short mention
  3769.       below. I don't think I want to spend time keeping this part of
  3770.       the document up to date though, so I won't be mentioning every
  3771.       little change. What I will do is to include your name when
  3772.       describing changes in <xref linkend="history"> and
  3773.         make a big'ol' list below with email addresses of contributors
  3774.         (big'n'small).</para>
  3775.  
  3776.     <para>If you feel I have forgotten you, remind me by sending an
  3777.       email (and tons of money).</para>
  3778.  
  3779.     <itemizedlist>
  3780.       <listitem><para> Gerard Cornu(<ulink
  3781.         url="mailto:gcornu@dtr.fr">
  3782.         gcornu@dtr.fr</ulink>)</para>
  3783.       </listitem>
  3784.  
  3785.       <listitem><para> (<ulink
  3786.         url="mailto:kcci1@central.susx.ac.uk">
  3787.         kcci1@central.susx.ac.uk</ulink>)</para>
  3788.       </listitem>
  3789.  
  3790.       <listitem><para>Jeffrey W. Davis (<ulink
  3791.         url="mailto:doctorj@netusa1.net">
  3792.         doctorj@netusa1.net</ulink>)</para>
  3793.       </listitem>
  3794.  
  3795.       <listitem><para>Christophe Decanini (<ulink
  3796.         url="mailto:cdecanini@yahoo.com">
  3797.         cdecanini@yahoo.com</ulink>)</para>
  3798.       </listitem>
  3799.  
  3800.       <listitem><para>Marco De Vitis (<ulink
  3801.         url="mailto:marco.dvv@flashnet.it">
  3802.         marco.dvv@flashnet.it</ulink>)</para>
  3803.       </listitem>
  3804.  
  3805.       <listitem><para>Michel Dänzer (<ulink
  3806.         url="mailto:michdaen@iiic.ethz.ch">
  3807.         michdaen@iiic.ethz.ch</ulink>)</para>
  3808.       </listitem>
  3809.  
  3810.       <listitem><para>Massimo Gais (<ulink
  3811.         url="mailto:ftpadmin@ftp.unina.it">
  3812.         ftpadmin@ftp.unina.it</ulink>)</para>
  3813.       </listitem>
  3814.  
  3815.       <listitem><para>Matthias Goerdeler (<ulink
  3816.         url="mailto:goerdler@hp1.imm.rwth-aachen.de">
  3817.         goerdler@hp1.imm.rwth-aachen.de</ulink>)</para>
  3818.       </listitem>
  3819.  
  3820.       <listitem><para>Arno Griffioen (<ulink
  3821.         url="mailto:arno@usn.nl"> arno@usn.nl</ulink>)</para>
  3822.       </listitem>
  3823.  
  3824.       <listitem><para>Sinan Gurkan (<ulink
  3825.         url="mailto:sgurkan@artemis.efes.net">
  3826.         sgurkan@artemis.efes.net</ulink>)</para>
  3827.       </listitem>
  3828.  
  3829.       <listitem><para>Thomas Haller (<ulink
  3830.         url="mailto:Thomas-h8t.Haller@ubs.ch">
  3831.         Thomas-h8t.Haller@ubs.ch</ulink>)</para>
  3832.       </listitem>
  3833.       
  3834.       <listitem><para>Holger Jakob (<ulink
  3835.         url="mailto:jakob@ph-cip.Uni-Koeln.DE">
  3836.         jakob@ph-cip.Uni-Koeln.DE</ulink>)</para>
  3837.       </listitem>
  3838.  
  3839.       <listitem><para>Jens Kristian Jensen (<ulink
  3840.         url="mailto:judas@cs.auc.dk">
  3841.         judas@cs.auc.dk</ulink>)</para>
  3842.       </listitem>
  3843.  
  3844.       <listitem><para>Jimmy (<ulink
  3845.         url="mailto:Jimmy@Stud-Mailer.Uni-Marburg.DE">
  3846.         Jimmy@Stud-Mailer.Uni-Marburg.DE</ulink>)</para>
  3847.       </listitem>
  3848.  
  3849.       <listitem><para>Alex Kazik (<ulink
  3850.         url="mailto:martin.koenig@gmx.net">
  3851.         martin.koenig@gmx.net</ulink>)</para>
  3852.       </listitem>
  3853.  
  3854.       <listitem><para> Martin Koenig(<ulink url="mailto:alx@gmx.de">
  3855.         alx@gmx.de</ulink>)</para>
  3856.       </listitem>
  3857.  
  3858.       <listitem><para>Bartek Kozakiewicz (<ulink
  3859.         url="mailto:coza@snickers.ek.univ.gda.pl">
  3860.         coza@snickers.ek.univ.gda.pl</ulink>)</para>
  3861.       </listitem>
  3862.  
  3863.       <listitem><para>Chris Lawrence (<ulink
  3864.         url="mailto:quango@watervalley.net">
  3865.         quango@watervalley.net</ulink>)</para>
  3866.       </listitem>
  3867.  
  3868.       <listitem><para>Thomas Lohmann (<ulink
  3869.         url="mailto:tlohmann@scobs.de">
  3870.         tlohmann@scobs.de</ulink>)</para>
  3871.       </listitem>
  3872.  
  3873.       <listitem><para>Sven Luther (<ulink
  3874.         url="mailto:luther@dpt-info.u-strasbg.fr">
  3875.         luther@dpt-info.u-strasbg.fr</ulink>) SCSI support for
  3876.           Blizzard controllers.</para>
  3877.       </listitem>
  3878.  
  3879.       <listitem><para>Peter McGavin (<ulink
  3880.         url="mailto:P.McGavin@irl.cri.nz">
  3881.         P.McGavin@irl.cri.nz</ulink>)</para>
  3882.       </listitem>
  3883.  
  3884.       <listitem><para>Carlos Mayo (<ulink
  3885.         url="mailto:COMPMAY@teleline.es">
  3886.         COMPMAY@teleline.es</ulink>)</para>
  3887.       </listitem>
  3888.  
  3889.       <listitem><para>Ilario Nardinocchi (<ulink
  3890.         url="mailto:nardicon@cs.unibo.it">
  3891.         nardicon@cs.unibo.it</ulink>) CVPPC driver.</para>
  3892.       </listitem>
  3893.  
  3894.       <listitem><para>Sven Ottemann (<ulink
  3895.         url="mailto:Sven.Ottemann@Student.Uni-Magdeburg.DE">
  3896.         Sven.Ottemann@Student.Uni-Magdeburg.DE</ulink>) Hard
  3897.           disk install script for the &rh; base system.</para>
  3898.       </listitem>
  3899.  
  3900.       <listitem><para>Frank Petzold (<ulink
  3901.         url="mailto:fpetzold@hepe.com">
  3902.         fpetzold@hepe.com</ulink>)</para>
  3903.       </listitem>
  3904.  
  3905.       <listitem><para>Carsten Pluntke (<ulink
  3906.         url="mailto:su0289@sx2.hrz.uni-dortmund.de">
  3907.         su0289@sx2.hrz.uni-dortmund.de</ulink>) Fixed vm problem
  3908.           with X.</para>
  3909.       </listitem>
  3910.  
  3911.       <listitem><para>Jouko Pynnonen (<ulink
  3912.         url="mailto:pynjo@jytol.fi">
  3913.         pynjo@jytol.fi</ulink>)</para>
  3914.       </listitem>
  3915.  
  3916.       <listitem><para>Robert Ramiega (<ulink
  3917.         url="mailto:robert@plukwa.pdi.net">
  3918.         robert@plukwa.pdi.net</ulink>)</para>
  3919.       </listitem>
  3920.  
  3921.       <listitem><para>Francisco Sepulveda (<ulink
  3922.         url="mailto:Francisco.Sepulveda@ico.unil.ch">
  3923.         Francisco.Sepulveda@ico.unil.ch</ulink>)</para>
  3924.       </listitem>
  3925.  
  3926.       <listitem><para>Christian T. Steigies (<ulink
  3927.         url="mailto:steigies@physik.uni-kiel.de">
  3928.         steigies@physik.uni-kiel.de</ulink>)</para>
  3929.       </listitem>
  3930.  
  3931.       <listitem><para>Ken (& Julian) Tyler (<ulink
  3932.         url="mailto:kent@werple.net.au">
  3933.         kent@werple.net.au</ulink>) Fixed the &rhinstaller;
  3934.           scripts to work with &linapus;.</para>
  3935.       </listitem>
  3936.  
  3937.       <listitem><para>Geert Uytterhoeven (<ulink
  3938.         url="mailto:Geert.Uytterhoeven@cs.kuleuven.ac.be">
  3939.         Geert.Uytterhoeven@cs.kuleuven.ac.be</ulink>) X server
  3940.           binaries. &rhppc; base system archive and installation
  3941.           help. Santa's little vger helper :)</para>
  3942.       </listitem>
  3943.     </itemizedlist>
  3944.  
  3945.       </sect1>
  3946.       <sect1><title>Contributing</title>
  3947.  
  3948.     <para>If you have any contributions to &linapus; (code, ideas,
  3949.       changes to &thisdoc;, whatever) please send them to the
  3950.       &linapus; kernel mailing list. Archives and/or packages can be
  3951.       uploaded to <xref linkend="sd-incoming"> <emphasis>(remember
  3952.           to notify me via mail)</emphasis>.</para>
  3953.       </sect1>
  3954.  
  3955.     </chapter>
  3956.     <chapter id="links"><title>Links</title>
  3957.  
  3958.       <para> If you have an idea for additional 
  3959.     (&linapus; relevant) links, please let me know.</para>
  3960.  
  3961.       <sect1 id="links-linux"><title>&linux; Links</title>
  3962.  
  3963.     <informaltable frame="all">
  3964.       <tgroup cols="3">
  3965.         <tbody>
  3966.           <row>
  3967.         <entry align="center"><emphasis>&linapus;</emphasis>
  3968.         </entry>
  3969.         <entry align="center"><emphasis>HTTP Location</emphasis>
  3970.         </entry>
  3971.         <entry align="center"><emphasis>FTP Location</emphasis>
  3972.         </entry>
  3973.           </row>
  3974.           <row>
  3975.         <entry>&linapus; Master Site
  3976.         </entry> 
  3977.         <entry><ulink
  3978.             url="http://sunsite.auc.dk:/local/os/linux/apus">
  3979.             sunsite.auc.dk:/local/os/linux/apus</ulink>
  3980.         </entry>
  3981.         <entry><ulink
  3982.             url="ftp://sunsite.auc.dk:/local/os/linux/apus">
  3983.             sunsite.auc.dk:/local/os/linux/apus</ulink>
  3984.         </entry>
  3985.           </row>
  3986.           <row>
  3987.         <entry>&linapus; Poland Mirror
  3988.         </entry> 
  3989.         <entry>
  3990.         </entry>
  3991.         <entry><ulink
  3992.             url="ftp://snickers.ek.univ.gda.pl/pub/apus">
  3993.             snickers.ek.univ.gda.pl/pub/apus</ulink>
  3994.         </entry>
  3995.           </row>
  3996.           <row>
  3997.         <entry>&linapus; Italian Mirror
  3998.         </entry> 
  3999.         <entry>
  4000.         </entry>
  4001.         <entry><ulink
  4002.             url="ftp://ftp.unina.it">
  4003.             ftp.unina.it</ulink>
  4004.         </entry>
  4005.           </row>
  4006.  
  4007.           <row>
  4008.         <entry align="center"><emphasis>&linm68k;</emphasis>
  4009.         </entry>
  4010.         <entry align="center"><emphasis>HTTP Location</emphasis>
  4011.         </entry>
  4012.         <entry align="center"><emphasis>FTP Location</emphasis>
  4013.         </entry>
  4014.           </row>
  4015.           <row>
  4016.         <entry>&linm68k; Kernel Master Site
  4017.         </entry> 
  4018.         <entry><ulink
  4019.             url="http://sunsite.auc.dk:/local/os/linux/680x0">
  4020.             sunsite.auc.dk:/local/os/linux/680x0</ulink>
  4021.         </entry>
  4022.         <entry><ulink
  4023.             url="ftp://sunsite.auc.dk:/local/os/linux/680x0">
  4024.             sunsite.auc.dk:/local/os/linux/680x0</ulink>
  4025.         </entry>
  4026.           </row>
  4027.           <row>
  4028.         <entry>&linm68k; Home Page
  4029.         </entry> 
  4030.         <entry><ulink
  4031.             url="http://www.linux-m68k.org">
  4032.             www.linux-m68k.org</ulink>
  4033.         </entry>
  4034.         <entry>
  4035.         </entry>
  4036.           </row>
  4037.           <row>
  4038.         <entry>Permedia2 (CyberVision/PPC) Frame Buffer Home Page
  4039.         </entry> 
  4040.         <entry><ulink
  4041.             url="http://www.cs.unibo.it/~nardinoc/pm2fb/">
  4042.             http://www.cs.unibo.it/~nardinoc/pm2fb/</ulink>
  4043.         </entry>
  4044.         <entry>
  4045.         </entry>
  4046.           </row>
  4047.  
  4048.           <row>
  4049.         <entry align="center"><emphasis>&linppc;</emphasis>
  4050.         </entry>
  4051.         <entry align="center"><emphasis>HTTP Location</emphasis>
  4052.         </entry>
  4053.         <entry align="center"><emphasis>FTP Location</emphasis>
  4054.         </entry>
  4055.           </row>
  4056.           <row>
  4057.         <entry>&linppc; Master Site
  4058.         </entry> 
  4059.         <entry><ulink
  4060.             url="http://www.linuxppc.org">
  4061.             www.linuxppc.org</ulink>
  4062.         </entry>
  4063.         <entry><ulink
  4064.             url="ftp://ftp.linuxppc.org">
  4065.             ftp.linuxppc.org</ulink>
  4066.         </entry>
  4067.           </row>
  4068.  
  4069.           <row>
  4070.         <entry align="center"><emphasis>&debppc;</emphasis>
  4071.         </entry>
  4072.         <entry align="center"><emphasis>HTTP Location</emphasis>
  4073.         </entry>
  4074.         <entry align="center"><emphasis>FTP Location</emphasis>
  4075.         </entry>
  4076.           </row>
  4077.           <row>
  4078.         <entry>The &debppc; port
  4079.         </entry> 
  4080.         <entry><ulink
  4081.             url="http://www.debian.org/ports/powerpc/">
  4082.             www.debian.org/ports/powerpc/</ulink>
  4083.         </entry>
  4084.         <entry>
  4085.         </entry>
  4086.           </row>
  4087.           <row>
  4088.         <entry>&debppc; packages
  4089.         </entry> 
  4090.         <entry>
  4091.         </entry>
  4092.         <entry><ulink
  4093.             url="ftp://ftp.debian.org/debian/dist/main/binary-powerpc/">
  4094.             ftp.debian.org/debian/dist/main/binary-powerpc/</ulink>
  4095.         </entry>
  4096.           </row>
  4097.           <row>
  4098.         <entry>&debppc; install stuff
  4099.         </entry> 
  4100.         <entry>
  4101.         </entry>
  4102.         <entry><ulink
  4103.             url="ftp://ftp.debian.org/debian/dists/sid/main/disks-powerpc/2.0.11.4_1998-10-15/">
  4104.             ftp.debian.org/debian/dists/sid/main/disks-powerpc/2.0.11.4_1998-10-15/</ulink>
  4105.         </entry>
  4106.           </row>
  4107.  
  4108.           <row>
  4109.         <entry align="center"><emphasis>&linux; Help</emphasis>
  4110.         </entry>
  4111.         <entry align="center"><emphasis>HTTP Location</emphasis>
  4112.         </entry>
  4113.         <entry align="center"><emphasis>Comment</emphasis>
  4114.         </entry>
  4115.           </row>
  4116.           <row>
  4117.         <entry>News Archive
  4118.         </entry> 
  4119.         <entry><ulink
  4120.             url="http://www.dejanews.com">
  4121.             www.dejanews.com</ulink>
  4122.         </entry>
  4123.         <entry>Search for keywords, include "linux"
  4124.         </entry>
  4125.           </row>
  4126.           <row>
  4127.         <entry>WEB Search
  4128.         </entry> 
  4129.         <entry><ulink
  4130.             url="http://www.altavista.com">
  4131.             www.altavista.com</ulink>
  4132.         </entry>
  4133.         <entry>Search for keywords, include "linux"
  4134.         </entry>
  4135.           </row>
  4136.           <row>
  4137.         <entry>MiningCo
  4138.         </entry> 
  4139.         <entry><ulink
  4140.             url="http://linux.miningco.com">
  4141.             linux.miningco.com</ulink>
  4142.         </entry>
  4143.         <entry>Search for keywords
  4144.         </entry>
  4145.           </row>
  4146.  
  4147.           <row>
  4148.         <entry align="center"><emphasis>&linux; Kernel Hacking
  4149.           </emphasis>
  4150.         </entry>
  4151.         <entry align="center"><emphasis>HTTP Location</emphasis>
  4152.         </entry>
  4153.         <entry align="center"><emphasis>Comment</emphasis>
  4154.         </entry>
  4155.           </row>
  4156.           <row>
  4157.         <entry>&linux; Kernel (Hacking) FAQ
  4158.         </entry> 
  4159.         <entry><ulink
  4160.             url="http://www.tux.org/lkml/">
  4161.             www.tux.org/lkml/</ulink>
  4162.         </entry>
  4163.         <entry>
  4164.         </entry>
  4165.           </row>
  4166.  
  4167.         </tbody>
  4168.       </tgroup>
  4169.     </informaltable>
  4170.  
  4171.     <sect2><title>Software Packages</title>
  4172.  
  4173.       <informaltable frame="all">
  4174.         <tgroup cols="3">
  4175.           <tbody>
  4176.         <row>
  4177.           <entry align="center"><emphasis>Software</emphasis>
  4178.           </entry>
  4179.           <entry align="center"><emphasis>HTTP Location</emphasis>
  4180.           </entry>
  4181.           <entry align="center"><emphasis>FTP Location</emphasis>
  4182.           </entry>
  4183.         </row>
  4184.         <row>
  4185.           <entry>binutils
  4186.           </entry> 
  4187.           <entry>
  4188.           </entry>
  4189.           <entry><ulink
  4190.               url="ftp://prep.ai.mit.edu">prep.ai.mit.edu</ulink>, 
  4191.             <ulink
  4192.               url="ftp://sunsite.auc.dk/mirrors/prep.ai.mit.edu/pub/gnu/">
  4193.               sunsite.auc.dk/mirrors/prep.ai.mit.edu/pub/gnu/</ulink>
  4194.           </entry>
  4195.         </row>
  4196.         <row>
  4197.           <entry>egcs
  4198.           </entry> 
  4199.           <entry><ulink
  4200.               url="http://egcs.cygnus.com">egcs.cygnus.com</ulink>
  4201.           </entry>
  4202.           <entry><ulink
  4203.               url="ftp://egcs.cygnus.com">egcs.cygnus.com</ulink>,
  4204.             <ulink
  4205.               url="ftp://sunsite.auc.dk/mirrors/egcs.cygnus.com">
  4206.               sunsite.auc.dk/mirrors/egcs.cygnus.com</ulink>
  4207.           </entry>
  4208.         </row>
  4209.         <row>
  4210.           <entry>Mozilla
  4211.           </entry> 
  4212.           <entry><ulink
  4213.               url="http://www.mozilla.org">www.mozilla.org</ulink>
  4214.           </entry>
  4215.           <entry><ulink
  4216.               url="ftp://ftp.mozilla.org">ftp.mozilla.org</ulink>
  4217.           </entry>
  4218.         </row>
  4219.         <row>
  4220.           <entry>&rhppc;
  4221.           </entry> 
  4222.           <entry><ulink
  4223.               url="http://www.linuxppc.org">
  4224.               www.linuxppc.org</ulink>
  4225.           </entry>
  4226.           <entry><ulink
  4227.               url="ftp://ftp.linuxppc.org">
  4228.               ftp.linuxppc.org</ulink>
  4229.           </entry>
  4230.         </row>
  4231.         <row>
  4232.           <entry>X
  4233.           </entry> 
  4234.           <entry><ulink
  4235.               url="http://www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19981017.gz">
  4236.               www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19981017.gz</ulink>
  4237.           </entry>
  4238.           <entry>
  4239.           </entry>
  4240.         </row>
  4241.           </tbody>
  4242.         </tgroup>
  4243.       </informaltable>
  4244.     </sect2>
  4245.  
  4246.     <sect2><title>Related &cybppc; and &ados; Sites</title>
  4247.  
  4248.       <para>&p5; <ulink
  4249.           url="http://www.phase5.de">www.phase5.de</ulink>.</para>
  4250.     </sect2>
  4251.       </sect1>
  4252.  
  4253.     </chapter>
  4254.     <chapter id="sunsite"><title>&sunsite;</title>
  4255.  
  4256.       <para><ulink url="http://sunsite.auc.dk">&sunsite;</ulink> is the
  4257.     main distribution site for both the &linm68k; and &linapus;
  4258.     kernels (no, it's not a coincidence: both Jes and I studied at
  4259.     Aalborg University). There's lots of other good stuff there, and
  4260.     it's well worth a visit. You can access it by both HTTP and FTP
  4261.     (using the same hostname and paths).</para>
  4262.  
  4263.       <para>You can find &linm68k; related stuff (including the
  4264.     &linm68k; FAQ) in the directory <ulink
  4265.       url="http://sunsite.auc.dk/local/os/linux/680x0/">
  4266.       sunsite.auc.dk/local/os/linux/680x0/</ulink>.</para>
  4267.  
  4268.       <para>The &linapus; directory is <ulink
  4269.       url="http://sunsite.auc.dk/local/os/linux/apus/">
  4270.       sunsite.auc.dk/local/os/linux/apus/</ulink>. This directory
  4271.     contains the following (and possibly more; have a look
  4272.     around):</para>
  4273.  
  4274.       <itemizedlist>
  4275.     <listitem id="sd-deb" xreflabel="the 'DEB-APUS' directory at
  4276.       &sunsite;"> 
  4277.       <para>DEB-APUS</para>
  4278.       <para> Directory with &debian; packages recompiled especially
  4279.         for &linapus;. I need <emphasis>your</emphasis> help to get
  4280.         it filled with good stuff!</para>
  4281.     </listitem>
  4282.     <listitem id="sd-rpm" xreflabel="the 'RPM-APUS' directory at
  4283.       &sunsite;"> 
  4284.       <para>RPM-APUS</para>
  4285.       <para> Directory with &rh; packages recompiled especially
  4286.         for &linapus;. I need <emphasis>your</emphasis> help to get
  4287.         it filled with good stuff!</para>
  4288.     </listitem>
  4289.     <listitem id="sd-boothack" xreflabel="the 'boothack' directory at
  4290.       &sunsite;">
  4291.       <para>boothack</para>
  4292.       <para> Directory with the special version of &amiboot;
  4293.         required to boot a &linapus; kernel.</para>
  4294.     </listitem>
  4295.     <listitem id="sd-contrib" xreflabel="the 'contrib' directory at
  4296.       &sunsite;">
  4297.       <para>contrib</para> 
  4298.       <para> Directory where I put kernel images and diffs
  4299.         contributed by users. If you want to contribute, upload to
  4300.         incoming and notify me via mail 
  4301.  
  4302.         <footnote id="ft-readme"><para>I only accept uploads with an
  4303.         accompanying <filename>.readme</filename> file
  4304.         containing:</para>
  4305.           
  4306.           <itemizedlist>
  4307.         <listitem><para><emphasis>Uploader:</emphasis> Name and
  4308.             email address.</para>
  4309.         </listitem>
  4310.         <listitem><para><emphasis>Contents:</emphasis> Archive
  4311.             description and/or a description of why people
  4312.             should use it.</para>
  4313.         </listitem>
  4314.           </itemizedlist>
  4315.           
  4316.           <para>Also, please make sure to notify me when an archive
  4317.         becomes obsolete so it can be deleted.</para>
  4318.         </footnote>.</para>
  4319.     </listitem>
  4320.     <listitem id="sd-docs" xreflabel="the 'docs' directory at &sunsite;">
  4321.       <para>docs</para>
  4322.  
  4323.       <para> Directory with &thisdoc; in HTML and SGML
  4324.         formats.  The file <filename>faq-all.tgz</filename>
  4325.         contains all the files for easy downloading.</para>
  4326.     </listitem>
  4327.     <listitem id="sd-incoming" xreflabel="the 'incoming' directory
  4328.       at &sunsite;">
  4329.       <para>incoming</para>
  4330.       <para> Directory where you can upload contributions
  4331.         <footnoteref linkend="ft-readme">.</para>
  4332.     </listitem>
  4333.     <listitem id="sd-install" xreflabel="the 'install'
  4334.       directory at &sunsite;">
  4335.       <para>install</para>
  4336.       <para> Directory with installation related files and
  4337.         directories..</para>
  4338.     </listitem>
  4339.     <listitem id="sd-install-rh" xreflabel="the &rh; 'install'
  4340.       directory at &sunsite;">
  4341.       <para>install/redhat</para>
  4342.       <para> Directory with files required to create a &rhppc; or
  4343.         &rhrc; system.</para>
  4344.     </listitem>
  4345.     <listitem id="sd-install-deb" xreflabel="the &debian; 'install'
  4346.       directory at &sunsite;">
  4347.       <para>install/debian</para>
  4348.       <para> Directory with files required to create a &debian;
  4349.         system.</para>
  4350.     </listitem>
  4351.     <listitem id="sd-kernels" xreflabel="the 'kernels' directory at
  4352.       &sunsite;"> 
  4353.       <para>kernels</para><para> Directory with kernel binaries
  4354.         and diffs.</para>
  4355.     </listitem>
  4356.     <listitem id="sd-latest" xreflabel="the 'latest' directory at
  4357.       &sunsite;"> 
  4358.       <para>latest</para><para> Directory with links to the newest
  4359.         kernel binary and booter.</para>
  4360.     </listitem>
  4361.     <listitem id="sd-misc" xreflabel="the 'misc' directory at &sunsite;">
  4362.       <para>misc</para>
  4363.       <para> Directory with miscellaneous tidbits, such as the build
  4364.         tools I'm using to make the precompiled kernel images.</para>
  4365.     </listitem>
  4366.       </itemizedlist>
  4367.  
  4368.  
  4369.       <para>The &linapus; kernel mailing list is also hosted by
  4370.     &sunsite;. Send for help at <ulink
  4371.       url="mailto:linux-apus-help@sunsite.auc.dk">
  4372.       linux-apus-help@sunsite.auc.dk</ulink>. The list is also
  4373.     available via NTTP from <ulink
  4374.       url="news://sunsite.auc.dk">sunsite.auc.dk</ulink> (look for
  4375.     sunsite.linux.apus). Please read <xref linkend="etiquette">
  4376.       before posting to this list.</para>
  4377.  
  4378.       <sect1><title>&linapus; Mirror Sites</title>
  4379.  
  4380.     <para>The <filename class=directory>apus</filename> directory at
  4381.       &sunsite; is mirrored a few places thanks to the people
  4382.       mentioned in parenthesis:</para>
  4383.  
  4384.     <para>Poland (FTP): <ulink
  4385.         url="ftp://snickers.ek.univ.gda.pl/pub/apus">
  4386.         snickers.ek.univ.gda.pl/pub/apus</ulink> (Bartek
  4387.       Kozakiewicz)</para>
  4388.  
  4389.     <para>Italy (FTP): <ulink url="ftp://ftp.unina.it">
  4390.         ftp.unina.it</ulink> (Massimo Gais)</para>
  4391.  
  4392.     <!--
  4393.       <para>The mailing list is also archived at other sites than
  4394.     &sunsite; thanks to the people mentioned in parenthesis:
  4395.       </para>
  4396.     -->
  4397.  
  4398.     <para>If you have the space (and time?) to make a mirror of
  4399.       either the <filename class=directory>apus</filename> directory
  4400.       at &sunsite; or make an archive of the &linapus; kernel
  4401.       mailing list, please let me know. &sunsite; is close and
  4402.       convenient to use for me, but that may not be so for
  4403.       others.</para>
  4404.  
  4405.       </sect1>
  4406.     </chapter>
  4407.   </part>
  4408.  
  4409.   <part><title>Developer Information</title>
  4410.     <partintro>
  4411.       <para> Hi guys. Here are all the developer specific
  4412.     chapters. I'll get it cleaned up eventually. Your job to write
  4413.     new sections/chapters if you see the need (or at least let me
  4414.     know of any text you think could be helpful). Well, you know
  4415.     the drill...</para>
  4416.     </partintro>
  4417.  
  4418.     <chapter><title>Getting The Kernel</title>
  4419.       <sect1><title>The Kernel Diffs</title>
  4420.     
  4421.     <para> This section describes how you can recompile
  4422.       your own kernel. It may be necessary to do if the prebuilt
  4423.       kernels do not contain drivers for some of your
  4424.       equipment. Rebuilding the kernel including only drivers for
  4425.       the equipment you have may also result in slightly more memory
  4426.       available for applications.</para>
  4427.  
  4428.  
  4429.     <para> The diff files found at &sunsite; are relative to the
  4430.       last release of the &linm68k; developer sources. The diffs are
  4431.       named <filename>linux-2.1.115-m68k-YYMMDD.diff.gz</filename>
  4432.       (2.1.115 is the current &linm68k; version at the time of
  4433.       writing - you may find patches for more recent
  4434.       kernels). </para>
  4435.  
  4436.     <para> Always apply my patches to a clean set of &linm68k;
  4437.       sources as found on &sunsite; to avoid getting rejects. My
  4438.       diffs may include (parts) of patches posted to the &linm68k;
  4439.       kernel list.</para>
  4440.  
  4441.     <para> I have also started uploading &linapus;
  4442.       relative diffs. These are named
  4443.       <filename>linux-apus-YYMMDD.diff.gz</filename> and are
  4444.       relative to the previous &linapus; release.</para>
  4445.  
  4446.     <sect2 id="recompile"><title>Recompiling Your Own Kernel</title>
  4447.  
  4448.       <para> Both because the precompiled kernels are so big, and
  4449.         because the set of included drivers may change without
  4450.         notice, you should recompile your own customized kernel when
  4451.         you have used a precompiled kernel to install your system.</para>
  4452.  
  4453.       <para>If you want to help (actively) with the development of
  4454.         &linm68k; and/or &linapus; you also need to recompile your own
  4455.         kernel (yes, <emphasis>you</emphasis> can hack the
  4456.         kernel. All that is really required is build tools,
  4457.         patience, a bit of interest in the subject and possibly some
  4458.         C knowledge (I learned C by hacking &linux; -- see the two
  4459.         previous requirements :))</para>
  4460.  
  4461.       <para>It is possible to get a reasonable stable kernel by
  4462.         following the advice below. Many people who have problems
  4463.         with the kernels they build themselves usually didn't follow
  4464.         the below advice. In particular, use the specified tool
  4465.         versions even if newer are available. And build the tools
  4466.         yourself since prebuilt tools may include patches that could
  4467.         foul things up.</para>
  4468.  
  4469.       <para> You can find binutils at <ulink
  4470.           url="ftp://prep.ai.mit.edu">prep.ai.mit.edu</ulink> or one
  4471.         of its mirrors (e.g., <ulink
  4472.           url="ftp://sunsite.auc.dk/mirrors/prep.ai.mit.edu/pub/gnu/">
  4473.           sunsite.auc.dk/mirrors/prep.ai.mit.edu/pub/gnu/</ulink>). You
  4474.         can find egcs at <ulink
  4475.           url="ftp://egcs.cygnus.com">egcs.cygnus.com</ulink> or one
  4476.         of its mirrors (e.g., <ulink
  4477.           url="ftp://sunsite.auc.dk/mirrors/egcs.cygnus.com">
  4478.           sunsite.auc.dk/mirrors/egcs.cygnus.com</ulink>).</para>
  4479.  
  4480.       <para> Still, since it is a developer kernel, your mileage may
  4481.         vary, even if you painstakingly follow the below.</para>
  4482.  
  4483.       <para> <emphasis>Note: There has been reported
  4484.           problems with rebuilding egcs-1.1 from the source code
  4485.           archive; it requires a C++ compiler, even if you 
  4486.           specify LANGUAGES to only include C. Workaround is to
  4487.           build everything (i.e., don't use the LANGUAGES
  4488.           option).</emphasis></para>
  4489.  
  4490.       <sect3><title>Basic Kernel Compilation</title>
  4491.  
  4492.         <para> A good way to start compiling your own
  4493.           kernel is by using the configuration I use to build
  4494.           kernels. That way, you can be sure that the kernel will
  4495.           build without problems, and you can test that it works
  4496.           just as well as the ones I have built.</para>
  4497.  
  4498.         <para> First patch the kernel:</para>
  4499.  
  4500.         <screen>
  4501.  
  4502.           tar xzf linux-2.1.115.tar.gz
  4503.           cd linux-2.1.115
  4504.           patch -d. -p0 < .../linux-2.1.115-m68k-980814.diff</screen>
  4505.  
  4506.         <para> Then copy the
  4507.           <filename>.config</filename> from one of the archives
  4508.           with precompiled kernels to the kernel directory,
  4509.           configure and build the kernel:</para>
  4510.  
  4511.         <screen>
  4512.  
  4513.           cp [path of prebuilt kernel]/.config .
  4514.           make oldconfig
  4515.           make dep
  4516.           make          </screen>
  4517.  
  4518.         <para> Now test the kernel. If it works,
  4519.           reconfigure to suit your system and rebuild. Resolve
  4520.           problems as they appear and send patches to the list
  4521.           :)</para>
  4522.  
  4523.       </sect3>
  4524.  
  4525.       <sect3><title>Native Compilation</title>
  4526.  
  4527.         <para>If you know how to recompile &linm68k; there shouldn't be
  4528.           much of a difference - except that it will be done faster
  4529.           :)</para>
  4530.  
  4531.         <orderedlist>
  4532.           <listitem><para> Get binutils-2.9.1 and egcs-1.1.</para>
  4533.           </listitem>
  4534.           <listitem><para> Configure, build and install
  4535.           binutils.</para>
  4536.         <screen>
  4537.  
  4538.           tar xzf binutils-2.9.1.tar.gz
  4539.           cd binutils-2.9.1
  4540.           ./configure
  4541.           make
  4542.           make install
  4543.           cd ..          </screen>
  4544.           </listitem>
  4545.           <listitem><para>Configure, build and install
  4546.           egcs.</para>
  4547.         <screen>
  4548.  
  4549.           tar xzf egcs-1.1.tar.gz
  4550.           cd egcs-1.1
  4551.           mkdir build
  4552.           cd build
  4553.           ../configure
  4554.           make LANGUAGES=c
  4555.           make LANGUAGES=c install    </screen>
  4556.           </listitem>
  4557.           <listitem><para> Get the latest &linm68k; kernel sources
  4558.           (2.1.115 as of the time of writing) and apply the
  4559.           &linapus; patch.</para>
  4560.         <screen>
  4561.  
  4562.           tar xzf linux-2.1.115.tar.gz
  4563.           cd linux-2.1.115
  4564.           patch -d. -p0 < .../linux-2.1.115-m68k-980814.diff</screen>
  4565.           </listitem>
  4566.           <listitem><para> Configure and compile the kernel.</para>
  4567.         <screen>
  4568.  
  4569.           make config [select the options you want]
  4570.           make dep
  4571.           make          </screen>
  4572.           </listitem>
  4573.           <listitem><para> Boot your shiny new kernel (see <xref
  4574.             linkend="booting">).</para>
  4575.           </listitem>
  4576.         </orderedlist>
  4577.  
  4578.       </sect3>
  4579.       <sect3><title>Cross-Compilation</title>
  4580.  
  4581.         <para> This is probably what you want to do if you want to
  4582.           do some serious &linapus; development as it cuts down the
  4583.           time of the build-boot-test cycle dramatically. You need a
  4584.           slave box (like my PC 'Concubine') on which you do the
  4585.           editing and building and a proper connection to the &amiga;
  4586.           (I used serial for some months, but can warmly recommend
  4587.           an Ethernet card).</para>
  4588.  
  4589.         <para>Using a different build machine also allows you to get
  4590.           serial output from the kernel you are testing and/or use a
  4591.           remote debugger (beats
  4592.           <function>printk</function>-debugging, I'm sure) if you
  4593.           connect the machines with a null-modem cable.</para>
  4594.  
  4595.         <para>You need a cross compilation environment, targeting
  4596.           big-endian &cpuppc; ELF files. Here's how to build the required
  4597.           binutils and compiler on another &linux; box:</para>
  4598.  
  4599.         <orderedlist>
  4600.           <listitem><para>Get binutils-2.9.1 and egcs-1.1.</para>
  4601.           </listitem>
  4602.           <listitem><para>Configure, build and install binutils for
  4603.           target </para>
  4604.         <screen>
  4605.  
  4606.           tar xzf binutils-2.9.1.tar.gz
  4607.           cd binutils-2.9.1
  4608.           mkdir build
  4609.           cd build
  4610.           ../configure --target=powerpc-unknown-linux
  4611.           make
  4612.           make install          </screen>
  4613.  
  4614.         <para> You should now have binutils targeted for &cpuppc;
  4615.           installed in <filename class=directory>
  4616.             /usr/local/powerpc-unknown-linux</filename>.</para>
  4617.           </listitem>
  4618.           <listitem><para>Get the files from <filename
  4619.             class=directory> /usr/include</filename> of your
  4620.           &linapus; box and put them in the <filename
  4621.             class=directory>
  4622.             /usr/local/powerpc-unknown-linux/include</filename>
  4623.           directory of your build machine. (The files are
  4624.           also available from <xref linkend="sd-misc">.)
  4625.              Make sure that the
  4626.             <filename>asm</filename> and
  4627.             <filename>linux</filename> links point to the
  4628.             location of those directories in the linux source
  4629.             code you are trying to compile.</para>
  4630.           </listitem>
  4631.           <listitem><para>Configure egcs for
  4632.           cross-compilation.</para>
  4633.         <screen>
  4634.  
  4635.           tar xzf egcs-1.1.tar.gz
  4636.           cd egcs-1.1
  4637.           mkdir build
  4638.           cd build
  4639.           ../gcc/configure --target=powerpc-unknown-linux
  4640.           make LANGUAGES=c
  4641.           make LANGUAGES=c install    </screen>
  4642.         <para> You should now have gcc targeted for &cpuppc;
  4643.           installed in <filename>
  4644.             /usr/local/bin/powerpc-unknown-linux-gcc</filename>.</para>
  4645.           </listitem>
  4646.           <listitem><para>Configure and build the kernel.</para>
  4647.         <screen>
  4648.  
  4649.           make config [select the options you want]
  4650.           make dep
  4651.           make          </screen>
  4652.         <para>Notice that the kernel will be build using the
  4653.           cross-compiler,
  4654.           <filename>powerpc-unknown-linux-gcc</filename> which
  4655.           automatically uses the correct &cpuppc;
  4656.           binutils.</para>
  4657.           </listitem>
  4658.           <listitem><para>Copy the kernel to your &amiga;.</para>
  4659.           </listitem>
  4660.           <listitem><para>Boot your shiny new (cross-compiled)
  4661.           kernel (see <xref linkend="booting">).</para>
  4662.           </listitem>
  4663.         </orderedlist>
  4664.  
  4665.         <para>There's a cross-compiling mini HOWTO at <ulink
  4666.         url="ftp://ftp.uni-erlangen.de:/pub/Linux/680x0/docs/cross-compiling-Mini-HOWTO">
  4667.         ftp://ftp.uni-erlangen.de:/pub/Linux/680x0/docs/cross-compiling-Mini-HOWTO</ulink>
  4668.           you can consult if you need more help.</para>
  4669.  
  4670.       </sect3>
  4671.     </sect2>
  4672.       </sect1>
  4673.  
  4674.     </chapter>
  4675.     <chapter><title>Installing (Obsolete)</title>
  4676.  
  4677.       <sect1><title>Really... Go away!</title>
  4678.     <para> The obsolete ways of installing. Keeping it
  4679.       in the developer part for a few more months</para>
  4680.  
  4681.     <para>And depending on which installation method you choose you
  4682.       may also need one or more of the following:</para>
  4683.  
  4684.     <itemizedlist>
  4685.  
  4686.       <listitem><para><emphasis>Obsolete Net
  4687.         Install:</emphasis>
  4688.           <filename>chrproot.tar.gz</filename></para>
  4689.       </listitem>
  4690.       <listitem><para><emphasis>Obsolete HD
  4691.         Install:</emphasis>
  4692.           <filename>chrproot.tar.gz</filename>,
  4693.           <filename>hdinstall.lha</filename></para>
  4694.       </listitem>
  4695.     </itemizedlist>
  4696.  
  4697.     <sect2><title>Hacked Installation (Obsolete)</title>
  4698.  
  4699.       <para>First you will have to install a base system, so you
  4700.         will be able to boot &linapus; from the hard disk instead of
  4701.         from the ram disk - giving you more flexibility and tools to
  4702.         install applications. You can do this in one of two ways.</para>
  4703.  
  4704.       <sect3 id="hdinstall"><title>From Hard Disk</title>
  4705.  
  4706.         <para><emphasis>Text and script by Sven
  4707.         Ottemann</emphasis></para>
  4708.  
  4709.         <para>Unpack the archive:</para>
  4710.  
  4711.         <screen>
  4712.  
  4713.           lha x hdinstall.lha      </screen>
  4714.  
  4715.         <para>Boot the precompiled kernel, using the ram disk as
  4716.           root.</para>
  4717.  
  4718.         <para>Log in as root (with an empty password) and execute
  4719.           these commands:</para>
  4720.  
  4721.         <screen>
  4722.  
  4723.           mount -t affs /dev/your_ados_partition /mnt
  4724.           sh /mnt/hdinstall      </screen>
  4725.  
  4726.         <para><emphasis>your_ados_partition</emphasis> is the disk
  4727.           partition where the script is located. On a SCSI disk
  4728.           "HD0:" this would be "/dev/sda1" and on an IDE disk it
  4729.           would be "/dev/hda1". This presumes you are using the
  4730.           first partition on the first hard disk in the chain;
  4731.           increase numbers for next partition (HD1: = /dev/sda2) and
  4732.           "increase" letters for next disk (/dev/sdb1). The files
  4733.           from the <filename>hdinstall.lha</filename> archive should
  4734.           be in the root of this drive (i.e., not hidden away in
  4735.           some subdirectory).</para>
  4736.  
  4737.         <para><emphasis>path</emphasis> is the path to where the
  4738.           <command>hdinstall</command> script is located.</para>
  4739.  
  4740.         <para>See further down for details about the questions asked
  4741.           by the script.</para>
  4742.  
  4743.       </sect3>
  4744.       <sect3 id="fromnet"><title>From Net</title>
  4745.  
  4746.         <para>The generic &linppc; net installation (see <ulink
  4747.         url="http://www.linuxppc.org/help/install_help/PReP/network_install.cgi">
  4748.         www.linuxppc.org/help/install_help/PReP/network_install.cgi</ulink>)
  4749.           can fortunately be used without too much hassle under
  4750.           &linapus;.</para>
  4751.  
  4752.         <para>This used to be the only way to install the minimal
  4753.           system before the <command>hdinstall</command> script was
  4754.           made. If you're not a true warrior, the hdinstall method
  4755.           is probably the smartest way of installing a system - and
  4756.           it doesn't require an extra &linux; box as this method
  4757.           does.</para>
  4758.  
  4759.         <para>I didn't scare you off? OK, then you should read the
  4760.           documentation (see link above). A few hints: put the
  4761.           chrproot archive on the slave box (remains compressed),
  4762.           write IP stuff down and generally follow your hacker
  4763.           instincts.</para>
  4764.  
  4765.  
  4766.         <para>Boot the precompiled kernel, using the ram disk as
  4767.           root.</para>
  4768.  
  4769.         <para>Log in as root (with an empty password) and execute this
  4770.           instruction:</para>
  4771.  
  4772.         <screen>
  4773.  
  4774.           crdisk-net      </screen>
  4775.  
  4776.         <para>Now the script should be running. It's pretty simple
  4777.           to use; you are asked a handful of questions and when done
  4778.           (if you passed the test :) it will install the files from
  4779.           the minimal file system archive on your new root
  4780.           partition.</para>
  4781.  
  4782.         <para> The things to be careful about are:</para>
  4783.  
  4784.         <itemizedlist>
  4785.           <listitem><para> When the disk partition program is
  4786.           started: quit it. You should already have prepared the
  4787.           partitions under &ados;.</para>
  4788.           </listitem>
  4789.           <listitem><para> Options for
  4790.           <application>mke2fs</application>: you might want 1kB
  4791.           blocks.</para>
  4792.           </listitem>
  4793.           <listitem><para> When the script asks for install disk:
  4794.           replace with hda/hdb/sda/sdb as appropriate. See
  4795.           <filename>kernel-options.txt</filename> for help on
  4796.           the device names.</para>
  4797.           </listitem>
  4798.           <listitem><para> When the script asks for the root and
  4799.           swap partitions: enter the right partitions.</para>
  4800.           </listitem>
  4801.         </itemizedlist>
  4802.  
  4803.         <para>When you have installed this minimal system, you are
  4804.           ready to install packages.</para>
  4805.  
  4806.       </sect3>
  4807.       <sect3><title>Installing Packages</title>
  4808.  
  4809.         <para>When you have installed the minimal system, reset the
  4810.           machine (the hard way) and reboot the kernel, but replace
  4811.           the <emphasis>/dev/ram/</emphasis> part of
  4812.           <emphasis>root=/dev/ram</emphasis> with whatever device
  4813.           you installed the root system to (e.g., /dev/hdb1). This
  4814.           will boot &linapus; using the hard disk as boot
  4815.           device.</para>
  4816.  
  4817.         <para>Mount a drive with the &rpm; packages. Install them in
  4818.           alphabetic order by using a small rune like:</para>
  4819.  
  4820.         <screen>
  4821.  
  4822.           for f in `ls /path/*.rpm`;do rpm -ivh --force --nodeps $f;done </screen>
  4823.  
  4824.         <para>If you are a bit more on the exotic side, it can also
  4825.           be done via FTP. First make a list of package names you
  4826.           want to install, then do:</para>
  4827.  
  4828.         <screen>
  4829.  
  4830.           for f in `cat list`;do rpm -ivh --force --nodeps ftp://ftp:foobar@ip-address/path/$f;done      </screen>
  4831.  
  4832.         <para>where <emphasis>ip-address</emphasis> and
  4833.           <emphasis>path</emphasis> must be replaced with whatever
  4834.           is appropriate for your system.</para>
  4835.  
  4836.       </sect3>
  4837.     </sect2>
  4838.       </sect1>
  4839.     </chapter>
  4840.     <chapter><title>Debugging</title>
  4841.       <sect1 id="debug"><title>Kernel Debugging</title>
  4842.  
  4843.     <para>The kernel contains bugs. Period. Fact of life. Some are
  4844.       just small annoyances, others are show stoppers. Bugs in the
  4845.       latter category are usually (and fortunately) easy to track
  4846.       down given enough information.</para>
  4847.  
  4848.     <para>In this section I will try to explain what you need to
  4849.       report when you find a bug so it is easier for others to fix
  4850.       it. If you feel like looking into the problem yourself (please
  4851.       do!) this may be used as a brief guide of what to look
  4852.       for.</para>
  4853.  
  4854.     <sect2><title>Interactive Debugging</title>
  4855.  
  4856.       <para>Newer kernels contain a stub which makes it possible to
  4857.         debug the kernel in &gdb; via a serial line from another
  4858.         &linux; host. This is <emphasis>the</emphasis> way to debug
  4859.         something since you have access to registers and memory
  4860.         while the system is still alive - or at the time of its
  4861.         death.</para>
  4862.  
  4863.       <para>[Unfortunately, I don't know if this interface is
  4864.         working properly. I hope to get it tested RSN. I will add
  4865.         some more text about it when I know more.]</para>
  4866.  
  4867.     </sect2>
  4868.     <sect2><title>Non-interactive Debugging</title>
  4869.  
  4870.       <para>Sometimes interactive debugging is not an option and you
  4871.         have to rely on <function>printk</function> calls. Basically
  4872.         you insert some <function>printk</function>s with different
  4873.         texts in places of the kernel where you suspect there is a
  4874.         problem.</para>
  4875.  
  4876.       <para>You can ouput variable values and thereby check that the
  4877.         values are what you expect them to be. Output strings
  4878.         throughout the flow of a function to check that it executes
  4879.         the expected if-statements, does the correct number of
  4880.         iterations or to get an idea of where it hangs.  Use your
  4881.         imagination and be generous - each time you decide to insert
  4882.         more <function>printk</function>s you have to rebuild the
  4883.         kernel and reboot; you might as well put in plenty to start
  4884.         with.</para>
  4885.  
  4886.       <para>Debugging <filename>head.S</filename> is a bit more
  4887.         tricky. I use a handful of serial-print assembly routines by
  4888.         Roman Zippel. These can be found in the file
  4889.         <filename>arch/ppc/kernel/debug.h</filename> - include it
  4890.         from <filename>head.S</filename>, call
  4891.         <function>initserial</function> from somewhere in the top of
  4892.         the code and use the other functions to output
  4893.         characters/values where you want to investigate
  4894.         something. You must use functions <function>foo</function>
  4895.         when memory mapping is disabled and functions
  4896.         <function>foo2</function> when memory mapping is
  4897.         enabled.</para>
  4898.  
  4899.       <sect3><title>Debug Options</title>
  4900.  
  4901.         <para>The text from the <function>printk</function>s go to
  4902.           the console. Sometimes it makes sense to output the text
  4903.           to memory so you can save it for later reference or
  4904.           analysis. Use <option>debug=mem</option> as an option to
  4905.           bootstrap when booting and after reseting, run &dmesg;
  4906.           (from <xref linkend="sd-misc">) under &ados;. It should
  4907.         find the text.</para>
  4908.  
  4909.         <para>You can also use the option <option>debug=ser</option>
  4910.           which will output the text over the builtin serial line at
  4911.           9600 baud.</para>
  4912.  
  4913.       </sect3>
  4914.       <sect3><title>Standard Debug Output</title>
  4915.  
  4916.         <para>If a user application causes an exception it will be
  4917.           terminated without affecting any other application
  4918.           running. However, if the kernel causes an exception there
  4919.           is no way of handling it gracefully. In those situations
  4920.           the kernel will dump some information on the console which
  4921.           may help developers track the problem down. It may look
  4922.           like this:</para>
  4923.  
  4924.         <screen>
  4925.  
  4926.           NIP: C00D4EA4 XER: 00000000 LR: C00D6E64 REGS: c3c83bd0 TRAP: 0700 MSR:
  4927.           00089972 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
  4928.           TASK = c3c82000[130] 'mingetty' mm->pgd c2856000 Last syscall: 4  last math
  4929.           00000000
  4930.           GPR00: 00000000 C3C83CC0 C3C82000 C02C2FC0 00000002 00000000 00000019 00000050 
  4931.           GPR08: 00000000 C01528B4 C02C2FC0 00000000 3004E158 0024BB94 C017C6E0 C017C6E0 
  4932.           GPR16: C3EAC000 00000002 C0150000 C01704F8 00000001 00000000 00000000 C3C83D8A 
  4933.           GPR24: 00203578 C3F5C4A0 00000001 00000000 C02C30D4 00000000 000007D0 00000000 
  4934.           Call backtrace: 
  4935.           C004D580 C00D6E64 C00D7C94 C00D8710 C00CA630 C00CC4F4 C00C7988 
  4936.           C0026818 C000447C 00201570 00201D18 002010B8 
  4937.           Kernel panic: Exception in kernel pc c00d4ea4 signal 4
  4938.           Rebooting in 180 seconds..      </screen>
  4939.  
  4940.         <para> The NIP (next instruction pointer) tells what
  4941.           instruction caused the exception and the contents of the
  4942.           other registers can help explain why. The call backtrace
  4943.           shows the call sequence resulting in the exception
  4944.           allowing you to examine those functions (in the source
  4945.           code) and possibly insert a breakpoint (&gdb;) or
  4946.           <function>printk</function>s to help track down the
  4947.           problem.</para>
  4948.  
  4949.         <para>However, since these addresses are specific to the
  4950.           kernel you are running, a dump like the above is not
  4951.           necessarily of much help to kernel hackers. In order to
  4952.           help them you need to use the tool
  4953.           <application>ksymoops</application> (source found in the
  4954.           <filename class=directory>scripts</filename> directory of
  4955.           the kernel sources) which will use the
  4956.           <filename>System.map</filename> file to produce a more
  4957.           usable dump you can send to the kernel list.</para>
  4958.  
  4959.         <para>When you have found out which function the exception
  4960.           was caused by (look up the address in the
  4961.           <filename>System.map</filename> file) you might be able to
  4962.           make a quick fix. If the function belongs to a driver that
  4963.           is not properly supported you can disable it when doing
  4964.           <command>make config</command>. If the driver accepts
  4965.           kernel options you might want to use some other options
  4966.           than the default or the ones you used when the exception
  4967.           occurred.</para>
  4968.  
  4969.       </sect3>
  4970.       <sect3><title>Other Helpful Information</title>
  4971.  
  4972.         <para>The exception you experience may be caused by many
  4973.           things. Kernel hackers <emphasis>may</emphasis> have an
  4974.           idea of what is most likely to be the culprit.  You can
  4975.           help them narrow down the list of potential problems by
  4976.           including the following information:</para>
  4977.  
  4978.         <itemizedlist>
  4979.           <listitem><para> The bootstrap line you use to start the
  4980.           kernel (so we can see what options you used).</para>
  4981.           </listitem>
  4982.           <listitem><para> The output from bootstrap when using the
  4983.           <option>-d</option> option (so we can see what
  4984.           configuration you have).</para>
  4985.           </listitem>
  4986.           <listitem><para> The kernel debug output (use
  4987.           <option>debug=mem</option> and &dmesg; as described
  4988.           earlier).</para>
  4989.           </listitem>
  4990.           <listitem><para> If you need to do something in particular
  4991.           to cause the exception, tell us so we can try to
  4992.           reproduce it.</para>
  4993.           </listitem>
  4994.         </itemizedlist>
  4995.  
  4996.       </sect3>
  4997.     </sect2>
  4998.       </sect1>
  4999.     </chapter>
  5000.   </part>
  5001.  
  5002. </book>
  5003.